{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b6e81af1-4b5c-4489-9be9-ba7633bed122",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "序列填充后的第一个元素 [   1   14   22   16   43  530  973 1622 1385   65  458    2   66 3941\n",
      "    4  173   36  256    5   25  100   43  838  112   50  670    2    9\n",
      "   35  480  284    5  150    4  172  112  167    2  336  385   39    4\n",
      "  172    2 1111   17  546   38   13  447    4  192   50   16    6  147\n",
      " 2025   19   14   22    4 1920    2  469    4   22   71   87   12   16\n",
      "   43  530   38   76   15   13 1247    4   22   17  515   17   12   16\n",
      "  626   18    2    5   62  386   12    8  316    8  106    5    4 2223\n",
      "    2   16  480   66 3785   33    4  130   12   16   38  619    5   25\n",
      "  124   51   36  135   48   25 1415   33    6   22   12  215   28   77\n",
      "   52    5   14  407   16   82    2    8    4  107  117    2   15  256\n",
      "    4    2    7 3766    5  723   36   71   43  530  476   26  400  317\n",
      "   46    7    4    2 1029   13  104   88    4  381   15  297   98   32\n",
      " 2071   56   26  141    6  194    2   18    4  226   22   21  134  476\n",
      "   26  480    5  144   30    2   18   51   36   28  224   92   25  104\n",
      "    4  226   65   16   38 1334   88   12   16  283    5   16    2  113\n",
      "  103   32   15   16    2   19  178   32    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0]\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf \n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "imdb=tf.keras.datasets.imdb\n",
    "(x_train,y_train),(x_test,y_test)=imdb.load_data(num_words=4000)\n",
    "x_train=tf.keras.preprocessing.sequence.pad_sequences(x_train,padding='post',maxlen=400,truncating='post')\n",
    "x_test=tf.keras.preprocessing.sequence.pad_sequences(x_test,padding='post',maxlen=400,truncating='post')\n",
    "print('序列填充后的第一个元素',x_train[0])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "6773c52f-0254-4835-985f-ffc9a3bdd6e1",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\anaconda3\\Lib\\site-packages\\keras\\src\\layers\\core\\embedding.py:90: UserWarning: Argument `input_length` is deprecated. Just remove it.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"sequential\"</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1mModel: \"sequential\"\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓\n",
       "┃<span style=\"font-weight: bold\"> Layer (type)                         </span>┃<span style=\"font-weight: bold\"> Output Shape                </span>┃<span style=\"font-weight: bold\">         Param # </span>┃\n",
       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩\n",
       "│ embedding (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Embedding</span>)                │ ?                           │     <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (unbuilt) │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>)                    │ ?                           │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ gru (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">GRU</span>)                            │ ?                           │     <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (unbuilt) │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>)                  │ ?                           │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                        │ ?                           │     <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (unbuilt) │\n",
       "└──────────────────────────────────────┴─────────────────────────────┴─────────────────┘\n",
       "</pre>\n"
      ],
      "text/plain": [
       "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓\n",
       "┃\u001b[1m \u001b[0m\u001b[1mLayer (type)                        \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape               \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m        Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩\n",
       "│ embedding (\u001b[38;5;33mEmbedding\u001b[0m)                │ ?                           │     \u001b[38;5;34m0\u001b[0m (unbuilt) │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout (\u001b[38;5;33mDropout\u001b[0m)                    │ ?                           │               \u001b[38;5;34m0\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ gru (\u001b[38;5;33mGRU\u001b[0m)                            │ ?                           │     \u001b[38;5;34m0\u001b[0m (unbuilt) │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout_1 (\u001b[38;5;33mDropout\u001b[0m)                  │ ?                           │               \u001b[38;5;34m0\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense (\u001b[38;5;33mDense\u001b[0m)                        │ ?                           │     \u001b[38;5;34m0\u001b[0m (unbuilt) │\n",
       "└──────────────────────────────────────┴─────────────────────────────┴─────────────────┘\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model=tf.keras.models.Sequential()\n",
    "model.add(tf.keras.layers.Embedding(output_dim=32,input_dim=4000,input_length=400))\n",
    "model.add(tf.keras.layers.Dropout(0.3))\n",
    "model.add(tf.keras.layers.GRU(64))\n",
    "model.add(tf.keras.layers.Dropout(0.3))\n",
    "model.add(tf.keras.layers.Dense(1,activation='sigmoid'))\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "b38521ce-71c1-4c9c-b9b2-c533d0f89085",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m41s\u001b[0m 121ms/step - accuracy: 0.5062 - loss: 0.6935 - val_accuracy: 0.4938 - val_loss: 0.6945\n",
      "Epoch 2/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m37s\u001b[0m 118ms/step - accuracy: 0.5028 - loss: 0.6928 - val_accuracy: 0.5002 - val_loss: 0.6940\n",
      "Epoch 3/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m37s\u001b[0m 119ms/step - accuracy: 0.5010 - loss: 0.6918 - val_accuracy: 0.5014 - val_loss: 0.6935\n",
      "Epoch 4/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m39s\u001b[0m 125ms/step - accuracy: 0.5202 - loss: 0.6906 - val_accuracy: 0.4960 - val_loss: 0.6951\n",
      "Epoch 5/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m38s\u001b[0m 120ms/step - accuracy: 0.5170 - loss: 0.6900 - val_accuracy: 0.4992 - val_loss: 0.6953\n",
      "Epoch 6/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m38s\u001b[0m 120ms/step - accuracy: 0.5193 - loss: 0.6885 - val_accuracy: 0.5120 - val_loss: 0.6955\n",
      "Epoch 7/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m38s\u001b[0m 120ms/step - accuracy: 0.5243 - loss: 0.6865 - val_accuracy: 0.5036 - val_loss: 0.6994\n",
      "Epoch 8/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m38s\u001b[0m 120ms/step - accuracy: 0.5209 - loss: 0.6843 - val_accuracy: 0.5044 - val_loss: 0.6951\n",
      "Epoch 9/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m38s\u001b[0m 120ms/step - accuracy: 0.5296 - loss: 0.6822 - val_accuracy: 0.5038 - val_loss: 0.7019\n",
      "Epoch 10/10\n",
      "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m38s\u001b[0m 120ms/step - accuracy: 0.5276 - loss: 0.6775 - val_accuracy: 0.5046 - val_loss: 0.7035\n",
      "391/391 - 12s - 31ms/step - accuracy: 0.5054 - loss: 0.7017\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[0.7017346620559692, 0.5053600072860718]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.compile(optimizer='rmsprop',loss='binary_crossentropy',metrics=['accuracy'])\n",
    "history=model.fit(x_train,y_train,batch_size=64,epochs=10,validation_split=0.2)\n",
    "model.evaluate(x_test,y_test,batch_size=64,verbose=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "5f5b8878-f441-4820-a2f7-65bce63bb83a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2AAAAETCAYAAABQu2XiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACEIElEQVR4nO3dd1gUVxcH4N/SERQVEBEVEBURTVRQBEtiVBSNLXYNlqiJiYkFe9QvdmxRjAYjxo6FKLbYsWCJLcEawYpKEUSIARXp9/vjhMUVFumzu5z3efZxdxhmzi44lzP33nNlQggBxhhjjDHGGGOlTkvqABhjjDHGGGOsvOAEjDHGGGOMMcbKCCdgjDHGGGOMMVZGOAFjjDHGGGOMsTLCCRhjjDHGGGOMlRFOwBhjjDHGGGOsjHACxhhjjDHGGGNlhBMwxhhjjDHGGCsjOlIHoK6ysrLw9OlTVKxYETKZTOpwGGOs3BBC4OXLl6hRowa0tPg+4tu4bWKMMWkUpm3iBKyInj59ilq1akkdBmOMlVuRkZGoWbOm1GGoFG6bGGNMWgVpmzgBK6KKFSsCoA+5UqVKEkfDGGPlR1JSEmrVqiW/DpcGX19fLF26FDExMXB0dISPjw/atGmT577BwcFo165dru1hYWFo0KABAGDPnj1YuHAhHjx4gPT0dNSrVw8TJ06Ep6dnkc+bF26bGGNMGoVpmzgBK6LsoR2VKlXiRo4xxiRQWkPsAgICMH78ePj6+qJVq1ZYu3YtPDw8EBoaitq1ayv9vrt37yq0B+bm5vLnVatWxYwZM9CgQQPo6enh4MGDGD58OKpVq4ZOnToV67xv47aJMcakVZC2SSaEEGUQi8ZJSkqCiYkJEhMTuZFjjLEyVNrXXxcXFzRr1gxr1qyRb3NwcEDPnj3h7e2da//sHrAXL16gcuXKBT5Ps2bN0LVrV8ybN69I580Lt02MMSaNwlx/efYyY4wx9p+0tDSEhITA3d1dYbu7uzsuXLiQ7/c2bdoUlpaWaN++PU6fPq10PyEETp48ibt376Jt27bFOm9qaiqSkpIUHowxxlQbJ2CMMcbYf+Lj45GZmQkLCwuF7RYWFoiNjc3zeywtLeHn54fAwEDs2bMH9vb2aN++Pc6ePauwX2JiIoyNjaGnp4euXbti1apV6NixY5HPCwDe3t4wMTGRP7gAB2OMqT6eA1bKMjMzkZ6eLnUYLA96enpcwpoxlqd3x/ALIZSO67e3t4e9vb38taurKyIjI7Fs2TJ5DxdABTKuX7+OV69e4eTJk/Dy8kKdOnXw8ccfF+m8ADB9+nR4eXnJX2dPAn8fbptUk66uLrS1taUOgzFWyjgBKyVCCMTGxuLff/+VOhSmhJaWFmxtbaGnpyd1KIwxFWFmZgZtbe1cvU5xcXG5eqfy07JlS/j7+yts09LSQt26dQEATZo0QVhYGLy9vfHxxx8X+bz6+vrQ19cvcFzcNqm+ypUro3r16ryOG2MajBOwUpLdwFWrVg0VKlTgC6mKyV6sNCYmBrVr1+afD2MMAPWMOzk5ISgoCL169ZJvDwoKQo8ePQp8nGvXrsHS0jLffYQQSE1NLdHzvg+3TapLCIHk5GTExcUBwHt/fxhj6osTsFKQmZkpb+BMTU2lDocpYW5ujqdPnyIjIwO6urpSh8NY+fH6NfDbb0DPnkCVKlJHk4uXlxc8PT3h7OwMV1dX+Pn5ISIiAqNHjwZAw/6io6OxZcsWAICPjw9sbGzg6OiItLQ0+Pv7IzAwEIGBgfJjent7w9nZGXZ2dkhLS8Phw4exZcsWhYqH7ztvcXHbpPoMDQ0BUM9ntWrVeDgiY6UsKwv4918gPh5ISKDHJ58AFSqU7nk5ASsF2ePqK5T2T48VS/bQw8zMTE7AGCsLISHAunXA9u3Ay5fAq1fAd99JHVUu/fv3R0JCAubOnYuYmBg0atQIhw8fhrW1NQAgJiYGERER8v3T0tIwadIkREdHw9DQEI6Ojjh06BC6dOki3+f169f45ptvEBUVBUNDQzRo0AD+/v7o379/gc9bXNw2qYfsn096ejonYIwVQno68M8/ismUsufZr1+8oCTsbbdvAw0blm6svA5YEeVX6z8lJQWPHj2Cra0tDAwMJIqQvQ//nBgrA4mJlHCtWwdcu5az3c4O+N//gCFDCn1IXutKOW6b1B//nBgD3rzJP4HKK5kqziocFSsCpqaAmRmwcSPQqFHhj1GYtol7wBhjjJUsIYCLFynp+u03IDmZtuvpAb17A6NGAR99BHAVUsYYK7ciIoCffgIiI3MnU2/eFO2YMhmNbDczo4Qq+/H263e/ZmpKzVNZ4gSMlRobGxuMHz8e48ePlzoUxlhZSEgAtm6lxCs0NGd7w4aUdHl6UkvHmIS4bWJMeqdPA/36UbKljI5O/olTXl+rXBlQh5G7nIAxBR9//DGaNGkCHx+fYh/rzz//hJGRUfGDYoypLiGA4GBKugIDgbQ02m5oCPTvT4mXqyvdlmSsiLhtYkwzCAGsWAFMmQJkZgLNmgFDh+adVFWsqLlNBydgrFCEEMjMzISOzvt/dczNzcsgIsaYJJ49AzZtAn79FXjwIGd706aUdA0aBJiYSBYeK1+4bWJM9SUnAyNHAjt20OshQ4BffqH7deUND8BncsOGDcOZM2ewcuVKyGQyyGQybNq0CTKZDMeOHYOzszP09fVx7tw5PHz4ED169ICFhQWMjY3RvHlznDhxQuF4NjY2CncrZTIZfv31V/Tq1QsVKlRAvXr1cODAgTJ+l4yxIsvMBI4epXlcNWsC06ZR8lWxIvDVV8BffwFXrwJff83JFysx3DYxpv7Cw2kwxI4dNLRw1Sq6h1ceky+Ae8DKjBA589DLUoUKBe++XblyJe7du4dGjRph7ty5AIDbt28DAKZMmYJly5ahTp06qFy5MqKiotClSxfMnz8fBgYG2Lx5M7p164a7d++idu3aSs8xZ84cLFmyBEuXLsWqVaswePBgPHnyBFWrVi32e2WMlZLISGDDBnq8VX4dLVtSb1e/foCxsXTxsSKRql0CuG1irDw5fhwYMIBKvlerBuzeDbRpI3VU0uIErIwkJ0vz98mrV0BBh7qbmJhAT08PFSpUQPXq1QEAd+7cAQDMnTsXHTt2lO9ramqKDz/8UP56/vz52Lt3Lw4cOIBvv/1W6TmGDRuGgQMHAgAWLlyIVatW4cqVK+jcuXNh3xpjrDSlpwOHDtHcrqNHcxZKqVKFimmMGlW0Or1MZUjVLgHcNjFWHggBLFkCfP89NSEuLjRV2MpK6sikxwkYKxBnZ2eF169fv8acOXNw8OBBPH36FBkZGXjz5o3C4qR5+eCDD+TPjYyMULFiRcTFxZVKzIyxIggPp3ldGzcCsbE52z/6iJKu3r0BXpuIqQhumxhTTa9eAcOHU28XQM3HqlWAvr60cakKTsDKSIUK9MsoxXlLwrsVoyZPnoxjx45h2bJlqFu3LgwNDdGnTx+kZVdAU0JXV1fhtUwmQ9a7S5AzxspWaiqwbx/1dp08mbPd3BwYNoxmTdevL1V0rJRI1S5ln7skcNvEVN3OnYCvL/Dll1SbqDwsf3j/PtCrF3D7NqCrC6xeTe+f5eAErIzIZAUfbiElPT09ZGZmvne/c+fOYdiwYejVqxcA4NWrV3j8+HEpR8cYK1F37lDStWVLzmIsMhng7k63K7t1K/vVKVmZUZd2CeC2iamnffuAwYNp+N25c8DPPwMrVwItWkgdWek5dIjec2IiUKMG9YC5ukodleopB3k4KwwbGxtcvnwZjx8/Rnx8vNI7gHXr1sWePXtw/fp13LhxA4MGDeK7hYypg+RkSrjatAEcHIDlyyn5srICZs2iIYjZlQ45+WIqgtsmpm7OnqXCE1lZQNu2NN/y0iWaBzV0KPD0qdQRlqysLGDuXLpvl5gItG4NhIRw8qUMJ2BMwaRJk6CtrY2GDRvC3Nxc6bj5FStWoEqVKnBzc0O3bt3QqVMnNGvWrIyjZYwV2O3bwLff0i3JoUOB8+cBbW2ge3fg99+Bx4+p9bSxkTpSxnLhtompkxs36NKamkr/njwJ3LtHI7oBugdWvz7g7Q2kpEgaaolITKQhhz/8QIU3xoyh9/xfzRyWB5kQQkgdhDpKSkqCiYkJEhMTUalSJYWvpaSk4NGjR7C1tYUBT1ZXWfxzYuXG5cvU45WeTq9tbGhe1/DhlJCpmfyuv+Udt03qj39O6i08HGjVimoYtW5NJdjfXuvqzz+BsWOpNwwAbG2BH38EevYs+NIMqiQsjJKvu3epwMYvv+QkmuVNYdom7gFjjDFNlp5Os5/T0ykJO34cePgQmDFDLZMvxhhTVXFxQKdOlHw1bkyDC95daLh5c+DCBcDfny7Bjx4Bn30GdOgA3LolTdxFtXcvzWe7exeoVYsGVpTX5KuwOAFjjDFNtnIlcPMmULUqsGcP0LFj+SjDxRhjZSgpCfDwAB48oEEGR48ClSvnva9MRoUq7t4FZs6knqNTp4AmTYBvvsmpiaSqMjMp7s8+o0qqH38M/PUX8M6qECwf3AozxpimevKEBuUDwLJlgJmZtPEwxpgGSk2lYXhXr9LqHcePF2yAgbExMG8eFaTt04cKWaxZA9SrB/z0U86ocVXy4gUV2liwgF5PmAAEBQHVqkkbl7rhBIwxxjSREFR0IzmZSnDxuBDGGCtxmZnA559TD5axMXDkCCVQhWFjA+zaBQQHAx9+CPz7LzBuHD0/frwUgi6iW7doCOWRIzS0cts2KqSrw4taFRonYIwxpon27gUOHqRVMH/5RT1ndzPGmArLvs+1ezet2rFvH+DkVPTjffQRlW5fu5YGLISF0Zyy7t1pcWMp/fYb0LIlTSG2saF5bIMGSRuTOuMEjDHGNE1SEvDdd/R86lRa74sxxliJmjMn5/6Wvz/Qvn3xj6mtTXWT7t+n4X06OlTMw9ERmDyZSr6XpYwMakb696cBFR070nyvJk3KNg5NwwkYY4xpmlmzaJVPOzvg+++ljkYt+fr6ysuAOzk54dy5c0r3DQ4Ohkwmy/W4c+eOfJ9169ahTZs2qFKlCqpUqYIOHTrgypUrCseZPXt2rmNU54V0GFNJvr6UgAHAzz8DffuW7PErV6bhfbduUXGP9HSaylu/PrB+PQ19LG0JCXTuJUvo9dSpNPzQ1LT0z63pOAFjjDFN8tdfwKpV9HzNmtw1kNl7BQQEYPz48ZgxYwauXbuGNm3awMPDQ+niv9nu3r2LmJgY+aPeWxNBgoODMXDgQJw+fRoXL15E7dq14e7ujujoaIVjODo6KhzjlrrVpWasHPjtNxp6CFCdo6+/Lr1zNWgAHD4MHDpEyVdcHC3j2KIFlX0vLdeuUVXDEycAIyN6z4sWUQ8dKz5OwBhjTFNkZABffUUTEwYNorEirNCWL1+OESNGYOTIkXBwcICPjw9q1aqFNWvW5Pt91apVQ/Xq1eUP7bf+Utm2bRu++eYbNGnSBA0aNMC6deuQlZWFkydPKhxDR0dH4Rjm5ual8h4ZY0Vz4gQV3RCCEq/sQrOlrUsX6g1bvhyoVIkqLrZpAwwcCLzn3lCh+fsDbm7A48dA3bq0aHRJ9/CVd5yAsRJlY2MDHx8f+WuZTIZ9+/Yp3f/x48eQyWS4fv16qcfGmMb7+WdqlbPHrrBCS0tLQ0hICNzd3RW2u7u748KFC/l+b9OmTWFpaYn27dvj9OnT+e6bnJyM9PR0VK1aVWH7/fv3UaNGDdja2mLAgAEIDw/P9zipqalISkpSeLDcuG1iJeGvv6jcfHo6lY1ftaps6xvp6dG8sPv3aZ6YTAbs3Em9ZLNn0xyt4khPB8aPBzw9gZQUSvr+/BNo1Kgkomdv4wSMlaqYmBh4eHiU6DGHDRuGnj17lugxGVN7UVG0MiYALF4MWFhIG4+aio+PR2ZmJize+fwsLCwQGxub5/dYWlrCz88PgYGB2LNnD+zt7dG+fXucPXtW6XmmTZsGKysrdOjQQb7NxcUFW7ZswbFjx7Bu3TrExsbCzc0NCQkJSo/j7e0NExMT+aNWrVqFfMflE7dNrLDu3aOE5NUr4JNPqJdIquF41apRpcSQEFpl5M0bmo/WoAElZEIU/phxcTRoYuVKej1rFhX/ULaYNCseyROwwkx0HjZsWJ4TnR0dHRX2CwwMRMOGDaGvr4+GDRti7969xTovK7rq1atDX19f6jAY03xjx9JfBm5uNEGAFYvsndvaQohc27LZ29tj1KhRaNasGVxdXeHr64uuXbti2bJlee6/ZMkS7NixA3v27IGBgYF8u4eHB3r37o3GjRujQ4cOOHToEABg8+bNSuOcPn06EhMT5Y/IyMjCvtVyidsmVhhPnwLu7sDz50CzZlRuXhV+fZo2pbXDfvsNqF0biIykIYlt2lByVlB//knl88+cASpWpFVM5s4FtCTPEjSXpB9tYSc6r1y5UmFycmRkJKpWrYq+bw1MvXjxIvr37w9PT0/cuHEDnp6e6NevHy5fvlzk85YXa9euhZWVFbKyshS2d+/eHUOHDsXDhw/Ro0cPWFhYwNjYGM2bN8eJEyfyPea7wzyuXLmCpk2bwsDAAM7Ozrh27ZrC/pmZmRgxYgRsbW1haGgIe3t7rMy+HQOqErZ582bs379fnoAHBwcDAKZOnYr69eujQoUKqFOnDmbNmoV0VVxGnrGSduAAtZg6OlQTmVvNIjMzM4O2tnau3q64uLhcvWL5admyJe7nsXDPsmXLsHDhQhw/fhwffPBBvscwMjJC48aN8zxONn19fVSqVEnhoWnUvW2Kjo5G//79UaVKFZiamqJHjx54/PhxsT4TVnZevKC1uJ48oflQR45QkqIqZDKan3XnDiVNhobAH3/QgskjRwLPnuX//Rs2UMIWFQXY2wNXrgDckVsGhIRatGghRo8erbCtQYMGYtq0aQX6/r179wqZTCYeP34s39avXz/RuXNnhf06deokBgwYUGLnFUKIxMREAUAkJibm+tqbN29EaGioePPmTc7GrCwhXr0q+0dWVoHfU0JCgtDT0xMnTpyQb/vnn3+Enp6eOHbsmLh+/br45ZdfxM2bN8W9e/fEjBkzhIGBgXjy5Il8f2tra7FixQr5awBi7969QgghXr16JczNzUX//v3F33//LX7//XdRp04dAUBcu3ZNCCFEWlqa+N///ieuXLkiwsPDhb+/v6hQoYIICAgQQgjx8uVL+c84JiZGxMTEiNTUVCGEEPPmzRN//PGHePTokThw4ICwsLAQixcvVvp+8/w5MaZuXr4UolYtIQAhpk6VOpoykd/1tyS0aNFCfP311wrbHBwcCtVG9O7dW7Rr105h25IlS0SlSpXExYsXC3SMlJQUYWVlJebMmVPg8xaqbZKqXSpHbdPr169FvXr1xBdffCFu3rwpQkNDxaBBg4S9vb287Xrvz4lJJjlZiNat6fJavboQ4eFSR/R+ERFCDBpEMQNCVKwoxJIlQqSkKO6XmirE11/n7NezpxCldEktNwrTNkmWgKWmpgptbW2xZ88ehe1jx44Vbdu2LdAxPv30U9GxY0eFbbVq1RLLly9X2LZ8+XJRu3btEjuvEEVIwF69yvktL8vHq1cFfk9CCNG9e3fxxRdfyF+vXbtWVK9eXWRkZOS5f8OGDcWqVavkr/Nr5NauXSuqVq0qXr9+Lf/6mjVrFBq5vHzzzTeid+/e8tdDhw4VPXr0eO97WbJkiXByclL6dW7kmEaYOJH+r9vYCPHW/y1NVtoJ2M6dO4Wurq5Yv369CA0NFePHjxdGRkbym33Tpk0Tnp6e8v1XrFgh9u7dK+7duyf+/vtvMW3aNAFABAYGyvdZvHix0NPTE7t375b/gR4TEyNevnwp32fixIkiODhYhIeHi0uXLolPP/1UVKxYUeEm4/sUqm2Sql0qR23T+vXrhb29vch6K+FMTU0VhoaG4tixY3kel9sm1ZCeLkS3bvTramIixI0bUkdUOH/8IYSzc85/ubp1hThwgO59PH0qhJsbbZfJhJg3T4jMTKkjVn+FaZt0yrzL7T9Fmej8tpiYGBw5cgTbt29X2B4bG5vvMYt63tTUVKSmpspfa2qlqcGDB+PLL7+Er68v9PX1sW3bNgwYMADa2tp4/fo15syZg4MHD+Lp06fIyMjAmzdvCjx0MywsDB9++CEqVKgg3+bq6pprv19++QW//vornjx5gjdv3iAtLQ1NCrDk+u7du+Hj44MHDx7g1atXyMjI0MjhOIzJXb8OZFd28/UF3vq/xYquf//+SEhIwNy5cxETE4NGjRrh8OHDsLa2BkDtz9vXvbS0NEyaNAnR0dEwNDSEo6MjDh06hC5dusj38fX1RVpaGvr06aNwrh9++AGzZ88GAERFRWHgwIGIj4+Hubk5WrZsiUuXLsnPW56pa9sUEhKCBw8eoOI7Y9ZSUlLw8OHDAsXHyp4QVGXw998BAwP69z0jhlWOmxtw+TKwZQswbRrw4AHQvTvQoQNw+zYQEwOYmADbt1NxEVa2JEvAshVmovPbNm3ahMqVK+dZcaggxyzseb29vTEne8nzoqhQgSbIl7VC/kHWrVs3ZGVl4dChQ2jevDnOnTuH5f+Vs548eTKOHTuGZcuWoW7dujA0NESfPn2QlpZWoGOLApTl+e233zBhwgT8+OOPcHV1RcWKFbF06VKFOXx5uXTpEgYMGIA5c+agU6dOMDExwc6dO/Hjjz8WKDbG1E5mJq35lZlJEwBKuKJbeffNN9/gm2++yfNrmzZtUng9ZcoUTJkyJd/jFWTOz86dOwsaXsmQql3KPnchqGvblJWVBScnJ2zbti3X13iNN9U1fTqwcSNNpw0IoDlS6khLCxg2DPjsM2DhQmDFClrHDKDS8nv30rw2VvYkS8CKM9FZCIENGzbA09MTenp6Cl+rXr16vscs6nmnT58OLy8v+eukpKTClfuVyWgpcRVnaGiIzz77DNu2bcODBw9Qv359ODk5AQDOnTuHYcOGoVevXgCAV69eFWoiccOGDbF161a8efMGhoaGAChxetu5c+fg5uam8IfPu3cJ9fT0kJmZqbDtjz/+gLW1NWbMmCHf9uTJkwLHxpja+eUXmi1dqVJOLxhjhaEm7RKgvm1Ts2bNEBAQgGrVqvGIDDWxfDmt5AEA69ZRr5G6q1QJWLSIinLMmQMYGwNLl9K/TBqSlcrS09ODk5MTgoKCFLYHBQXBzc0t3+89c+YMHjx4gBEjRuT6mqura65jHj9+XH7Mop63PFSayjZ48GAcOnQIGzZswOeffy7fXrduXezZswfXr1/HjRs3MGjQoFxVqfIzaNAgaGlpYcSIEQgNDcXhw4dzlWmuW7cu/vrrLxw7dgz37t3DrFmz8OeffyrsY2Njg5s3b+Lu3buIj49Heno66tati4iICOzcuRMPHz7ETz/9lOfyA4xphKdPge+/p+cLFwI1akgbD2NlQB3bpsGDB8PMzAw9evTAuXPn8OjRI5w5cwbjxo1DVFRU8T4QVuK2bgUmTqTn3t7AF19IG09Jq1uX3uOaNZx8Sa5UZ6O9R2EnOmf7/PPPhYuLS57H/OOPP4S2trZYtGiRCAsLE4sWLRI6Ojri0qVLBT5vQRS6CIcaycjIEJaWlgKAePjwoXz7o0ePRLt27YShoaGoVauWWL16tfjoo4/EuHHj5PvkN9FZCCEuXrwoPvzwQ6GnpyeaNGkiAgMDFSY6p6SkiGHDhgkTExNRuXJl8fXXX4tp06aJDz/8UH6MuLg40bFjR2FsbCwAiNOnTwshhJg8ebIwNTUVxsbGon///mLFihXCxMRE6ftU958Te8f9+0J4etIsY03Xrx/Nnm7eXAglRQg0WWkX4VBn3DapXtsUExMjhgwZIszMzIS+vr6oU6eOGDVqlNLfX3X/OamrQ4eE0NGhS+uECYUq1MmYEEJNqiBm+/nnn4W1tbXQ09MTzZo1E2fOnJF/bejQoeKjjz5S2P/ff/8VhoaGws/PT+kxd+3aJezt7YWurq5o0KCBQiWqgpy3IDS5kSsv+OekQW7eFMLCglpObW0hdu+WOqLSc/hwzvvMp0KbJuMETDlum9Qf/5zK3oULQhga0qX188+5IiArmsK0TTIhCjD7lOWSlJQEExMTJCYm5hqOmJKSgkePHsHW1hYGBgYSRcjeh39OGuLSJSrh9OIFrY758iUtSLxnD9Ctm9TRlazkZMDREXj8GPDyAsppkZn8rr/lHbdN6o9/TmUrNBRo3ZqaEA8PYP9+QFdX6qiYOipM2yTZHDDGGCu2U6eopu6LF0DLlkB4ODBwIJCRAfTpAxw9KnWEJWvuXEq+atWimdSMMcaKLCIC6NQppwnZtYuTL1Y2OAFjjKmn/fup5+v1a6B9eyAoCDAzo0VPevcG0tKAXr0oSdMEf/+d0+O1ejXPoGaMsWKIj6fkKyoKcHAADh5Um6KgTANwAsYYUz/+/pRkpaYCPXtSy5mdkOjo0MqS3boBKSn077lzkoZbbFlZtOZXRga9X02oi8wYYxJ59Qr49FPgzh2gZk3g2DHA1FTqqFh5wgkYY0y9+PoCnp60APGQITRm5N15Enp6tL1TJ5o31aULzRVTV7/+Cly4QEnmTz9JHQ1jjKmttDQaoX75MlC1KnD8OI3qZqwscQJWigqzDgkre1x/Rg15ewNjxtDzb78FNm6kHq+86OsDe/cC7drR7c7OnYGQkLKLtaQ8ewZMnUrP583jvxRYsXHbpNr451N6srKA4cOpx6tCBeDQIRp+yFhZU/KXCysOPT09aGlp4enTpzA3N4eenh5kMpnUYbG3CCHw/PlzyGQy6PKMW9UnBDB9OrB4Mb2eOZMKUrzv/5WhIfD775R8nT8PuLsDp08DH3xQ+jGXFC8v4N9/gWbNKOlkrIi4bVJtQgikpaXh+fPn0NLSgp6entQhaRQh6HK6fTvdtwsMpMIbjEmBE7BSoKWlBVtbW8TExODp06dSh8OUkMlkqFmzJrS1taUOheUnM5N6vdaupddLlwKTJhX8+42M6DanuzuNOenQAQgOBho2LJVwS1RQEP21oKVF719Zbx9jBcBtk3qoUKECateuDS0tHqRUkhYtAlaupOebNtF9Ocakwq15KdHT00Pt2rWRkZGBzMxMqcNhedDV1eXkS9WlpwNDhwI7dlBv19q1wKhRhT9OpUpUkr59e+DqVfr3zBmgfv2Sj7mkvHkDfPMNPR8zBnB2ljYephG4bVJt2tra0NHR4Z7JEvbrr8D339PzFSuAwYOljYcxTsBKUfbwNh7ixlgRvHkD9O1LvVc6OlT5sH//oh+vcmWabf3JJ8DNm/Tv2bNAnTolFnKJWrgQePAAqFEDmD9f6miYBuG2iZUn+/ZREVmARrKPHy9lNIwR7t9mjKmepCTAw4OSLwMDWvOrOMlXNlNTGtbn4ABER1MSFhFR/OOWtLCwnPluP/1EPXiMMcYK5exZYMAAKr4xYgSwYIHUETFGOAFjjKmWhASap3XmDFCxIpWr6tKl5I5frRpw8iRQrx7w5AklYao0H0YIYPRoGn756afAZ59JHRFjjKmdGzdoGcjUVKBHD+CXX95ft4mxssIJGGNMdTx9CrRtC/z5J/VWnT5Nr0uapSVw6hRgaws8fEhzwp49K/nzFMWmTXTbtkIFYPVq/ouBMcYKKTycimwkJQFt2tA0Yq5hxFQJJ2CMMdUQHg60bg2EhtK8p7NnASen0jtfzZqUhNWqBdy5Q71u8fGld76CiI8HJk+m57NnA9bWkobDGGPq5o8/gI4dgdhYWnHkwAFakYQxVcIJGGNMerdvU/L16BFgZ0drdpVFmXgbG0rCLC2Bv/+mVvvFi9I/rzKTJtEQzA8+4JnijDFWCJGRwKBB1JSEh9MAh6NHqf4SY6qGEzDGmLT++gv46CMgJgZwdATOnaOWs6zUrUtJWLVqwPXrQKdONG6lrAUHA5s355Tb5wp1kvL19YWtrS0MDAzg5OSEc+fOKd03ODgYMpks1+POnTvyfdatW4c2bdqgSpUqqFKlCjp06IArV64U67yMMSA5GZgzB7C3z1mxZNQoWvbR0lLq6BjLGydgjDHpnDlDRTASEoAWLei1FC1mgwZUmMPUlOafeXgAr16V3flTU3PqJI8eDbRsWXbnZrkEBARg/PjxmDFjBq5du4Y2bdrAw8MDEe+pmHn37l3ExMTIH/Xq1ZN/LTg4GAMHDsTp06dx8eJF1K5dG+7u7oiOji72eRkrj4QAAgLo8j17Nq1c0qYNEBIC+PkB5uZSR8iYcjIhhJA6CHWUlJQEExMTJCYmohKXiGas8A4dAvr0AVJSgHbtqNR8xYrSxnTtGiWE//4LfPwxxVihQumfd+5c4IcfgOrVqQQ9j5nJV2lff11cXNCsWTOsWbNGvs3BwQE9e/aEt7d3rv2Dg4PRrl07vHjxApUL+LPLzMxElSpVsHr1agwZMqRI580Lt02sPLh6FRg3jkarA0Dt2sDSpbR0JNctYlIpzPWXe8AYY2Vv506gZ09Kvrp1Aw4flj75AoCmTansfcWKNCQwO8bSdO8eLboMACtWcPIlsbS0NISEhMDd3V1hu7u7Oy5cuJDv9zZt2hSWlpZo3749Tp8+ne++ycnJSE9PR9WqVYt13tTUVCQlJSk8GNNUz57R8EJnZ0q+DA3p/tWdO0C/fpx8MfXBCRhjrGz5+dFM6YwMYPBgIDCQFltWFS1aAEeOAEZGtGhznz5AWlrpnEsI4OuvaQhip04ls9g0K5b4+HhkZmbCwsJCYbuFhQViY2Pz/B5LS0v4+fkhMDAQe/bsgb29Pdq3b4+zZ88qPc+0adNgZWWFDh06FPm8AODt7Q0TExP5o1atWgV9q4ypjbQ0YNkyoH594Ndf6dI5aBBw9y4waxZXOWTqh1dFYIyVnaVLgSlT6Pno0cDPPwNaKngfqFUr4OBBmgt26BAwYABNNijpwhjbtlEBEAMDwNeXb9+qENk7PwshRK5t2ezt7WFvby9/7erqisjISCxbtgxt81jHbsmSJdixYweCg4Nh8M7Nh8KcFwCmT58OLy8v+eukpCROwpjGEIIuwV5ewP37tM3JCVi5ki7TjKkrFfzLhzGmcYQAZszISb6mTaOEQxWTr2wff0zz0vT0gL17AU9PIDOz5I7/zz/0VwUA/O9/QJ06JXdsVmRmZmbQ1tbO1esUFxeXq3cqPy1btsT97L8Y37Js2TIsXLgQx48fxwcffFDs8+rr66NSpUoKD8Y0QVgY3QPr1o2SLwsLYMMG4MoVTr6Y+lPhv34YYxohKwv47ruceU7e3vRQh94ed3dgzx7q+QoIAL74gt5PSZg6FXj+nNY7mzixZI7Jik1PTw9OTk4ICgpS2B4UFAQ3N7cCH+fatWuwfKei59KlSzFv3jwcPXoUzs7OpXJextTdixe0DGLjxjQlV0+PLpf37gHDh6v2fTvGCoqHIDLGSk9GBrWY/v6UcPn60tBDddK1KyVfffsCW7bQXwNr1xbvr4Dz52kiA0DH0tMrmVhZifDy8oKnpyecnZ3h6uoKPz8/REREYPR/v7vTp09HdHQ0tmzZAgDw8fGBjY0NHB0dkZaWBn9/fwQGBiIwMFB+zCVLlmDWrFnYvn07bGxs5D1dxsbGMDY2LtB5GdNkGRl0WZw5k1YmAYAePWjuV9260sbGWEnjBIwxVjpSUmju1P79gLY2JS+DBkkdVdH06kXztQYNor8Q9PWBVauK1ouXlpaz5tfIkUDr1iUbKyu2/v37IyEhAXPnzkVMTAwaNWqEw4cPw9raGgAQExOjsDZXWloaJk2ahOjoaBgaGsLR0RGHDh1Cly5d5Pv4+voiLS0Nffr0UTjXDz/8gNmzZxfovIxpqtOnqaz8rVv0umFDwMcH6NhR0rAYKzW8DlgR8VorjOXj1Su6dXnqFCUru3bRQH51t3UrMHQozWnz8qJbs4VNwry9ge+/p1VC79wB/itDzgqOr7/K8WfD1MmjR8CkSTTSGwCqVKGy8qNHAzrcRcDUTGGuv/zrzRgrWf/8A3TpAly+DBgbAwcO0ELLmsDTk0rGjxoFLF9O1Qvnzy94EvbwIf11AdD3c/LFGCuHXr2ie1E//kiXVG1tWpFj9mzA1FTq6BgrfZyAMcZKTmwsFa64dYuSiyNHaF0tTTJyJP3F8O23VFjEwIAWonkfIYAxY2hoZvv2tAYaY4yVI1lZNCV42jQgJoa2tW9Pww0bNZI0NMbKFCdgjLGS8eQJ0KED8OABYGkJHD+uuS3qmDGUhE2cSCXk9fVzSuwrExCQU9KL1/xijJUzly8DY8dSGXmAVt5Yvhzo3p0vh6z84WKejLHiu3OHikk8eADY2gLnzmlu8pXNyyuntP7UqbQyqDL//kt1lQFaD61+/dKOjjHGVMLTp8CQIUDLlpR8GRsDixYBoaE0VZiTL1YecQ8YY6x4rl4FOnUC4uMBBwcgKAiwspI6qrIxfToNKZw7lxIsff28y+x//z3w7Blgb0/JGmOMabiUFOrhWrgQeP2atg0bRq/fWSKPsXKHEzDGmHJZWcCbN0ByMrWg7/4bGwtMmAAkJQFOTsDRo4CZmdRRl63Zs2k44uLFNItcT48WbM526RLwyy/0/JdfKEljjDENJQRVNZw0CXj8mLa5utIggebNJQ2NMZXBCRhj6iw9XXlylN+/Bd33zZuCxdG2LfD770B5LHstk1E5r5QU+gtj5EhKsgYPpp/PV1/RXyRDhwIffyx1tIwxVmpu3qT1vIKD6bWVFbBkCTBwIA81ZOxtkidgvr6+WLp0KWJiYuDo6AgfHx+0adNG6f6pqamYO3cu/P39ERsbi5o1a2LGjBn44r87zunp6fD29sbmzZsRHR0Ne3t7LF68GJ07d5YfY/bs2ZgzZ47CcS0sLBAbG1s6b5Kxt2VkAC9fUq9RYiL9m9cjv69lJ0np6WUXt4EBYGQEVKig+G+zZjSmpEKFsotF1chkwIoVtMjymjU04UFPj27/3rxJFSGXLZM6SsaYhrh/n9aFT0qi9bJ0denf7Ed+r4v6tfftu38/4OdHAycMDIDJk2nEtZGR1J8WY6pH0gQsICAA48ePh6+vL1q1aoW1a9fCw8MDoaGhqF27dp7f069fPzx79gzr169H3bp1ERcXh4yMDPnXZ86cCX9/f6xbtw4NGjTAsWPH0KtXL1y4cAFNmzaV7+fo6IgTJ07IX2tra5feG2WaIT298IlSXl9LTi752LS08k6O8vu3sPtqcc2efMlkwOrVNBxxwwb66yh7JdFly8rf0EzGWKlZsgT46y+po8hb374Un42N1JEwprpkQggh1cldXFzQrFkzrFmzRr7NwcEBPXv2hLe3d679jx49igEDBiA8PBxVlSxgWqNGDcyYMQNjxoyRb+vZsyeMjY3h7+8PgHrA9u3bh+vXrxc59sKsds3U1OPHtGDJzp20gG5KSske38CAhuy9+zAxyXt79tcqVqTE6O0kSU+Px3eoisxMmmn+3/UGbdvSeBz++ZQYvv4qx5+N5nv5kopYvH4N/PorlXPPyKBHenrO83dfK3teUvuZmQEzZwIffST1J8SYNApz/ZWsBywtLQ0hISGYNm2awnZ3d3dcuHAhz+85cOAAnJ2dsWTJEmzduhVGRkbo3r075s2bB0NDQwA0RNHAwEDh+wwNDXH+/HmFbffv30eNGjWgr68PFxcXLFy4EHXq1FEab2pqKlJTU+Wvk5KSCvV+mZp48QLYtQvYuhV453dGztCw4MmSsq9VqkRJE9M82trAxo2UHJ87R2NyOPlijJWQgABKvurXp3o/fHlhTP1IloDFx8cjMzMTFhYWCtvzm4sVHh6O8+fPw8DAAHv37kV8fDy++eYb/PPPP9iwYQMAoFOnTli+fDnatm0LOzs7nDx5Evv370dmZqb8OC4uLtiyZQvq16+PZ8+eYf78+XBzc8Pt27dhamqa57m9vb1zzRtjGiItDTh8mJKugwfpNUCt2iefAJ9/Trf0snufdHWljZepPh0dYO1aqaNgjGmgdevo35EjOfliTF1JXoRD9s7VQwiRa1u2rKwsyGQybNu2DSYmJgCA5cuXo0+fPvj5559haGiIlStXYtSoUWjQoAFkMhns7OwwfPhwbNy4UX4cDw8P+fPGjRvD1dUVdnZ22Lx5M7y8vPI89/Tp0xW+lpSUhFq1ahX5fTOJCQFcvEhJ12+/Af/8k/O1Ro0AT0+aw1OzpnQxMsYYY2+5eZMWM9bRocKqjDH1JFkCZmZmBm1t7Vy9XXFxcbl6xbJZWlrCyspKnnwBNGdMCIGoqCjUq1cP5ubm2LdvH1JSUpCQkIAaNWpg2rRpsLW1VRqLkZERGjdujPv37yvdR19fH/oluX5PZiYNVWJl6/59mpvj7w+Eh+dst7SkhMvTE/jwQ+niY4wxxpT49Vf6t0cPoFo1aWNhjBWdZAmYnp4enJycEBQUhF69esm3BwUFoUePHnl+T6tWrbBr1y68evUKxsbGAIB79+5BS0sLNd/pqTAwMICVlRXS09MRGBiIfv36KY0lNTUVYWFh+Za/L3FOTkBMDFCrFvWyZP/79nMrK160tSTEx9OgeX9/WhQ3m5ER8NlnlHR98gknxIwxxlTWmzc0aAMARo2SNhbGWPFIOgTRy8sLnp6ecHZ2hqurK/z8/BAREYHRo0cDoGF/0dHR2LJlCwBg0KBBmDdvHoYPH445c+YgPj4ekydPxhdffCEvwnH58mVER0ejSZMmiI6OxuzZs5GVlYUpU6bIzztp0iR069YNtWvXRlxcHObPn4+kpCQMLcv+/IgIKvgQFweEhCjfr1q13Ena2//WqMFJWl5SUmhhYH9/mt+VvVSBlhbg7k7zunr25AVKGNMQNjY2+OKLLzBs2DCly5gwps727AH+/RewtgY6dpQ6GsZYcUiagPXv3x8JCQmYO3cuYmJi0KhRIxw+fBjW1tYAgJiYGERERMj3NzY2RlBQEL777js4OzvD1NQU/fr1w/z58+X7pKSkYObMmQgPD4exsTG6dOmCrVu3onLlyvJ9oqKiMHDgQMTHx8Pc3BwtW7bEpUuX5OctE/fuAVFRQGRk3v9GRVESERf3/iTNwkJ5gpbdk1YeKu5lZVHVOX9/qmSYmJjztaZNqadr4ECgenXpYmSMlYqJEydi06ZNmDt3Ltq1a4cRI0agV69eJTt0nDEJZRff+OILXpaRMXUn6Tpg6qzU11oRAkhIyD9Ji4ykRV8LwsLi/cMd1TVJCwujpGvbNuDJk5zttWoBgwdTb5ejo3TxMcZKVH7X3xs3bmDDhg3YsWMHMjIyMGjQIHzxxRdo1qyZRNGWLV4HTDPduwfY21Pi9fgxNW+MMdVSmOsvJ2BFpBKNXHaSll+CFhVVsCRNJlMc7phXoqZKwx2fPaMFkrduVewdrFQJ6NOHervatuXbhIxpoIJcf9PT0+Hr64upU6ciPT0djRo1wrhx4zB8+HCllXbf5uvri6VLlyImJgaOjo7w8fFROk84ODgY7dq1y7U9LCwMDRo0AADcvn0b//vf/xASEoInT55gxYoVGD9+vML+s2fPzrXcSX5Ls+RFJdomVuKmTgWWLAG6dAEOHZI6GsZYXtRiIWZWAmQyWnrezIyG2OVFCCpC8b7hjqmplNQ8ewb89Zfyc1arprwXLbsn7Z2FsEtMcjKwbx/1dh0/TpUkAarH27kzJV3dutFCyYyxcik9PR179+7Fxo0bERQUhJYtW2LEiBF4+vQpZsyYgRMnTmD79u35HiMgIADjx4+Hr68vWrVqhbVr18LDwwOhoaH5zi+7e/euQqNrbm4uf56cnIw6deqgb9++mDBhgtJjODo64sSJE/LX2lwcqNxLSwM2baLnXHyDMc3ACZimk8kAc3N65JekPX8OREcrJmX5zUm7elX5Oc3NlfeiZSdpBU2SMjOB4GDq6QoMBF69yvlaixaUdPXvT+dkjJVbV69excaNG7Fjxw5oa2vD09MTK1askPdAAYC7uzvatm373mMtX74cI0aMwMiRIwEAPj4+OHbsGNasWQNvb2+l31etWjWF+cZva968OZo3bw4AmDZtmtJj6OjooDrPU2VvOXiQml0LC6BrV6mjYYyVBE7AWM7ww2rV8k/SsuekvZuYvf36zRtK5p4/B65dU35OU1PlvWg1a1Jv1/bt9IiOzvk+W1ua0zV4MA2IZ4wxUILTsWNHrFmzBj179oSurm6ufRo2bIgBAwbke5y0tDSEhITkSpLc3d1x4cKFfL+3adOmSElJQcOGDTFz5sw8hyW+z/3791GjRg3o6+vDxcUFCxcuRJ06dZTun5qaitS3hpknJSUV+pxMtWUX3xg+HMjj15oxpoY4AWMF8/ZwxyZN8t5HCCqt/3ZylleilpxMyVxCAnD9+vvPXbky9XJ9/jnQqhXFwhhjbwkPD39vJVsjIyNs3Lgx333i4+ORmZkJCwsLhe35zcWytLSEn58fnJyckJqaiq1bt6J9+/YIDg4uUI9bNhcXF2zZsgX169fHs2fPMH/+fLi5ueH27dswNTXN83u8vb1zzRtjmiMiAjh2jJ6PGCFtLIyxksMJGCs5MhlQtSo9Pvww732EoIVM8utFi4wE0tNptrGnJ425UJXiH4wxlRQXF4fY2Fi4uLgobL98+TK0tbXh7OxcqOO9W6hDCKG0eIe9vT3s3+qRd3V1RWRkJJYtW1aoBMzDw0P+vHHjxnB1dYWdnR02b94MLy+vPL9n+vTpCl9LSkpCLS6RpzE2bKBms107oG5dqaNhjJUUTsBY2ZLJgCpV6NG4cd77CEFrevHkc8ZYAY0ZMwZTpkzJlYBFR0dj8eLFuHz5coGOY2ZmBm1t7Vy9XXFxcbl6xfLTsmVL+Pv7F3j/vBgZGaFx48a4f/++0n309fV5rTMNlZlJCRjAxTcY0zRco1sihw8DQUG0tsebN1JHo2JkMk6+GGOFEhoamudaX02bNkVoaGiBj6OnpwcnJycEBQUpbA8KCoKbm1uBj3Pt2jVYWloWeP+8pKamIiwsrNjHYerp+HEaEFK1KtCrl9TRMMZKEveASWTsWODhw5zX5uaAtTVQu3bO4+3X5uY89YkxxpTR19fHs2fPchWsiImJgY5O4Zo6Ly8veHp6wtnZGa6urvDz80NERARGjx4NgIb9RUdHY8uWLQCoSqKNjQ0cHR2RlpYGf39/BAYGIjAwUH7MtLQ0eSKYlpaG6OhoXL9+HcbGxqj739iySZMmoVu3bqhduzbi4uIwf/58JCUlYejQoUX+XJj6yi6+4elZequ7MMakwQmYRBo3pgvqkydUWT27cKCyJbgMDPJOzLKf16zJ06QYY+VXx44dMX36dOzfvx8mJiYAgH///Rfff/89OnbsWKhj9e/fHwkJCZg7dy5iYmLQqFEjHD58WF7kIyYmBhEREfL909LSMGnSJERHR8PQ0BCOjo44dOgQunTpIt/n6dOnaPpWldlly5Zh2bJl+OijjxAcHAwAiIqKwsCBAxEfHw9zc3O0bNkSly5dem9xEaZ5YmOB33+n5/+thsAY0yAyIYSQOgh1VJjVrvOTXZMiIoIeT57kfh4TQ/vlRyYDqlfPP0mrUoV70Rhj6i+v6290dDTatm2LhIQEeaJz/fp1WFhYICgoqNwUpiiptolJa/FiYNo0oGVL4OJFqaNhjBVEYa6/3AMmsbdrUigrHJiWRsUB80vS3ryhRC0mBlA219zISHlyVrs2UKMGoKdXeu+VMcZKi5WVFW7evIlt27bhxo0bMDQ0xPDhwzFw4MA81wRjTFUJAfz6Kz3n4huMaSbuASsiVbrLmL1Gcl6JWfbzuLiCHcvMjBKxGjUAS8u8n1evzotBMsako0rXX1XDn436Cw6msvPGxnRT1dhY6ogYYwXBPWDlzNtrJDs55b3PmzfUi6YsSYuIoJ62+Hh63LyZ/znNzfNP0iwtOVFjjJW90NBQREREIC0tTWF79+7dJYqIscLJLr4xaBAnX4xpKk7AyglDQ6BePXrkJSsL+Ocf4OlTuuP29Gnez2NiaI3k7KIhN24oP6dMRolafklajRqAhQUnaoyx4gkPD0evXr1w69YtyGQyZA/uyF48OTMzU8rwGCuQf/4Bsotn8vBDxjQXJ2AMAKClldOL9sEHyvfLyqLhjgVJ1DIyaOhjXFzBErW3EzNra6B9e8DFhZcEY4y937hx42Bra4sTJ06gTp06uHLlChISEjBx4kQsW7ZM6vAYKxB/fyA1leaEKxvRwhhTf0VKwDZv3gwzMzN07doVADBlyhT4+fmhYcOG2LFjB5fM1WBaWpQsmZsrLxoCUKIWH688SXs7UcvMzEnUrl/POcb//kcLUHbqBHh4AJ0703kZY+xdFy9exKlTp2Bubg4tLS1oaWmhdevW8Pb2xtixY3Ht2jWpQ2QsX0LkDD8cNYqrFjOmyYqUgC1cuBBr1qwBQI3e6tWr4ePjg4MHD2LChAnYs2dPiQbJ1I+WFlCtGj3el6g9f547Ubt1CwgKouEYO3bQQyYDmjenZKxLF8DZmc7DGGOZmZkw/m/CjJmZGZ4+fQp7e3tYW1vj7t27EkfH2PtduQL8/Tet+zlokNTRMMZKU5ESsMjISNStWxcAsG/fPvTp0wdffvklWrVqhY8//rgk42MaTkuL5oBZWABNmih+LSMDuHQJOHwYOHKEeseuXKHHnDnUG9apEyVj7u6AqakU74AxpgoaNWqEmzdvok6dOnBxccGSJUugp6cHPz8/1KlTR+rwGHuv7N6vvn1paRrGmOYqUv+BsbExEhISAADHjx9Hhw4dAAAGBgZ48+ZNyUXHyjUdHaB1a2DhQuDaNari+OuvQO/eQMWK1HPm7093CqtVA9zcgPnzgatXqWeNMVZ+zJw5E1n//cefP38+njx5gjZt2uDw4cP46aefJI6Osfy9fAns3EnPufgGY5qvSOuADR48GHfu3EHTpk2xY8cOREREwNTUFAcOHMD333+Pv//+uzRiVSm81oq00tKACxeoZ+zwYRq28TYLi5yhih07ApUrSxImY6wUFPT6+88//6BKlSrySojlAbdN6mndOuDLLwF7eyAsjOd/MaaOCnP9LVIP2M8//wxXV1c8f/4cgYGBMP1v7FdISAgGDhxYlEMyVih6esDHHwOLF9N8sSdPgLVrgR49ACMj4NkzYNMmoF8/quzYti2waBFVY+SlxxnTLBkZGdDR0cl1869q1arlKvli6uvXX+nfkSM5+Sq21FRg8mTgt9+kjoQxpYrUA8b4LqMqS00Fzp+nnrHDh4E7dxS/bmVFvWMeHkCHDgD/+BhTL3ldf+3s7LBnzx58mF/Vn3KA2yb1c/MmFavS1aWh9tWqSR2RmvP1BcaMoXkMf/wBtGghdUSsnCj1HrCjR4/i/Pnz8tc///wzmjRpgkGDBuHFixdFOSRjJUZfn9YQ+/FHGsoRHg78/DPw6ae0IHV0dM5cMlNT4JNPgKVLgdu3uXeMMXU1c+ZMTJ8+Hf/884/UoTBWKNnFN3r04OSr2DIyqEHPfj54MPDqlbQxMZaHIvWANW7cGIsXL0aXLl1w69YtNG/eHF5eXjh16hQcHBywcePG0ohVpfBdRvWUkgKcOZMzd+z+fcWv166dM3fsk0+A/6paM8ZUSF7X36ZNm+LBgwdIT0+HtbU1jIyMFL7n6tWrUoRa5rhtUi9v3gA1agD//gscO0YVfVkx7NhBlbnMzOiOa2QkMGJEzhhPxkpRYa6/RSpD/+jRIzRs2BAAEBgYiE8//RQLFy7E1atX0aVLl6IckrEyYWBApes7dQJ8fIAHD3KSsdOngYgImku2di3NM2vblpIxNzfAzo56zHh8PmOqp2fPnlKHwFihBQZS8mVtTUPiWTEIQRPDAWDsWGrA27UD1q+nO6u9e0sbH2NvKVICpqenh+TkZADAiRMnMGTIEAA04TkpKankomOslNWtC3z3HT2Sk4Hg4Jy5Y48eASdO0CNbxYqArS1Qp47iw9YWsLGhBI8xVvZ++OEHqUNgrNCyO2ZGjKB1MVkxHDtGlbaMjGgOWNWqwLRpgLc31fZ3cQFq1pQ6SsYAFDEBa926Nby8vNCqVStcuXIFAQEBAIB79+6hJv9yMzVVoQL1dnXpQjfS7t2jROzoUZofFh1Na7XcvEmPvFhZKSZlbydp1atz7xljjDFy7x4NidfSAoYPlzoaDbBoEf375ZeUfAHA7NlAUBDw11/A0KH0nDNdpgKKlICtXr0a33zzDXbv3o01a9bAysoKAHDkyBF07ty5RANkTAoyGa3HYm8PTJhA21JSgMePqajHo0f079uPV68oSYuOBs6dy31MQ0PqJcur98zWluebMVYcWlpa+Zacz8zMLMNoGHu/7N4vDw/umCm2y5cpm9XRyWm0AZpLsG0b0LQpcOoUsHw5MGmSdHEy9h8uQ19EPNGZvU0IICFBMSF7O0mLiACysvI/RrVqynvPrKwAbe2yeS+Mqbq8rr/79+9X2Cc9PR3Xrl3D5s2bMWfOHIwYMUKKUMsct03qIS0NqFULiIsD9u2jCoisGD77DNi7Fxg2DMirENyvv9IwRF1dStaaNi3zEJnmK8z1t8gJWGZmJvbt24ewsDDIZDI4ODigR48e0C4nfyVyI8cKIz2dijG922uWnaS9r3K2ri5N0q5Th+atDR5MhUEYK48Kc/3dvn07AgICciVo7+Pr64ulS5ciJiYGjo6O8PHxQZs2bfLcNzg4GO3atcu1PSwsDA0aNAAA3L59G//73/8QEhKCJ0+eYMWKFRg/fnyxzpsXbpvUQ2Ag0KcPDU2PiKBrPCuiO3eAhg3pTmhoKODgkHsfIagIx969QIMGQEgIzTtgrASV+jpgDx48gIODA4YMGYI9e/Zg9+7d8PT0hKOjIx4+fFioY/n6+sLW1hYGBgZwcnLCubzGbr0lNTUVM2bMgLW1NfT19WFnZ4cNGzbIv56eno65c+fCzs4OBgYG+PDDD3H06NFin5ex4tDVpeSpQwcanr5oEfDbb8Cff1LP2YsXwNWrwO7dtITJ119TpcZ69eh709OpYuPx47TGZKtWQJs2wMGD7+9ZY6w8c3FxwYm3K+kUQEBAAMaPH48ZM2bg2rVraNOmDTw8PBAREZHv9929excxMTHyR7169eRfS05ORp06dbBo0SJUr169RM/L1E/28MPhwzn5KralSynB6tEj7+QLoHkF69ZRzf87d3gYIpOeKAIPDw/RuXNnkZCQIN8WHx8vOnfuLLp06VLg4+zcuVPo6uqKdevWidDQUDFu3DhhZGQknjx5ovR7unfvLlxcXERQUJB49OiRuHz5svjjjz/kX58yZYqoUaOGOHTokHj48KHw9fUVBgYG4urVq8U677sSExMFAJGYmFjg72GsKDIyhIiIECI4WIgNG4QYPlwIXV0hqMURwtFRiE2bhEhNlTpSxspGQa+/ycnJYty4caJ+/fqFOn6LFi3E6NGjFbY1aNBATJs2Lc/9T58+LQCIFy9eFOj41tbWYsWKFcU+b164bVJ9jx8LIZPR9fvBA6mjUXORkTkN4oUL798/KCin8TxwoPTjY+VKYa6/RUrAKlSoIG7evJlr+/Xr14WRkVGBj1PYxubIkSPCxMREIfF7l6WlpVi9erXCth49eojBgwcX+bx54UaOSSk6WojJk4WoWDGnLalZU4gffxQiKUnq6BgrXXldfytXriyqVKkif1SuXFloa2uLihUriv379xf42KmpqUJbW1vs2bNHYfvYsWNF27Zt8/ye7ATMxsZGVK9eXXzyySfi1KlTSs+RVwJWlPMKIURKSopITEyUPyIjI7ltUnE//EDX7E8+kToSDTBxIn2Y+fwfUfo9ZmZCPH1aerGxcqcwuUGRhiDq6+vj5cuXuba/evUKenp6BTpGWloaQkJC4P7Osu/u7u64cOFCnt9z4MABODs7Y8mSJbCyskL9+vUxadIkvHnzRr5PamoqDN5ZjMnQ0BDnz58v8nmzj5uUlKTwYEwqNWoAS5bQvLJFi2geQVQUMHEiULs2MHMmTe5mrLxYsWKFwuOnn37CwYMH8eTJE3Tv3r3Ax4mPj0dmZiYsLCwUtltYWCA2NjbP77G0tISfnx8CAwOxZ88e2Nvbo3379jh79mypnhcAvL29YWJiIn/UqlWrwOdkZS8zE8ieNTFqlLSxqL0XL4C1a+n51KkF/74FC4APPwTi46loB4/jZxIoUhn6Tz/9FF9++SXWr1+PFi1aAAAuX76M0aNHF7ihK0pjEx4ejvPnz8PAwAB79+5FfHw8vvnmG/zzzz/yeWCdOnXC8uXL0bZtW9jZ2eHkyZPYv3+/vARxcRq5OXPmFOi9MVZWTEyo3Rk3Dti6lYbC379P7cuPP1LbMmkSYGcndaSMla5hw4aV6PHeLWkvhFBa5t7e3h729vby166uroiMjMSyZcvQtm3bUjsvAEyfPh1eXl7y10lJSZyEqbBjx+jGWdWqQM+eUkej5nx9af2Xxo2pln9B6esD27cDTk40sXrVKmpEGStDReoB++mnn2BnZwdXV1cYGBjAwMAAbm5uqFu3Lnx8fAp1rMI0NllZWZDJZNi2bRtatGiBLl26YPny5di0aZO8F2zlypWoV68eGjRoAD09PXz77bcYPnx4ruqMRWnkEhMT5Y/IyMhCvU/GSpOBAd1NDQuj6lotWtC6Zb/8AtSvD/TrR0WfGNNUGzduxK5du3Jt37VrFzZv3lzg45iZmUFbWzvXDbm4uLhcN+7y07JlS9y/f7/Uz6uvr49KlSopPJjqyi6+MWQIXbdZEb15A6xcSc+nTqUiG4XRsCHdpQSAKVOAmzdLNj7G3qNICVjlypWxf/9+3Lt3D7t378auXbtw79497N27F5UrVy7QMYrS2FhaWsLKygomJibybQ4ODhBCICoqCgBgbm6Offv24fXr13jy5Anu3LkDY2Nj2NraFvm8ADdyTD1oa9NyKJcuAcHBdFMwKwvYtQtwdqYqjEFBNGuMMU2yaNEimJmZ5dperVo1LFy4sMDH0dPTg5OTE4KCghS2BwUFwa0Qaz9cu3YNlpaWZX5eprpiY4Hff6fnI0dKG4va27gReP4csLEB+vcv2jG+/hr49FNalG3wYErqGCsjBR6C+PYQh7wEBwfLny9fvvy9x3u7senVq5d8e1BQEHooWZGwVatW2LVrF169egVjY2MAwL1796ClpYWa7ywjb2BgACsrK6SnpyMwMBD9+vUr8nkZUzcyGfDRR/S4eZOGJu7YAZw8SY+mTemmX58+gE6RBiIzplqePHkiv9H2Nmtr60KXcffy8oKnpyecnZ3h6uoKPz8/REREYPTo0QBoRER0dDS2bNkCAPDx8YGNjQ0cHR2RlpYGf39/BAYGIjAwUH7MtLQ0hIaGyp9HR0fj+vXrMDY2Rt26dQt0XqbeNm8GMjIAV1fA0VHqaNRYRgY1agBNfC5qIyaTAevXAx98APz9NzBtWk6vGmOlraCVPT7++OMCPdq1a1fgaiHZ5eDXr18vQkNDxfjx44WRkZF4/PixEEKIadOmCU9PT/n+L1++FDVr1hR9+vQRt2/fFmfOnBH16tUTI0eOlO9z6dIlERgYKB4+fCjOnj0rPvnkE2Fra6tQHvh95y0IroLI1M3jx0KMHStEhQo5lRNtbYVYvVqI16+ljo6xgsvr+lurVq08qx3u27dPWFlZFfocP//8s7C2thZ6enqiWbNm4syZM/KvDR06VHz00Ufy14sXLxZ2dnbCwMBAVKlSRbRu3VocOnRI4XiPHj0SAHI93j7O+85bENw2qaasLCHq1qXr7oYNUkej5rZvz6liWBKN15EjOY3i4cPFPx4rt0q9DH1JKkwjJ4QQYWFhokOHDsLQ0FDUrFlTeHl5ieTkZPnXg4ODhYODg9DX1xempqbC09NTREdHF+q8BcGNHFNX8fFCzJlDbVd2m2NmJsTcuULks8IDYyojr+vv5MmThbW1tTh16pTIyMgQGRkZ4uTJk8La2lpMnDhRwmjLFrdNqunUKbrWVqwoxKtXUkejxrKyhPjwQ/ow584tueOOHUvHtLAQ4tmzkjsuK1cKc/2VCcGzQYoiKSkJJiYmSExM5PlgTC0lJ9Mw+mXLgMePaZuREc1N8PKicvaMqaK8rr9paWnw9PTErl27oPPfkKSsrCwMGTIEv/zyS4GXSFF33DappsGDqfDeV19RcSRWREeP0uRmIyMgIoLKSZaElBSgeXMaivjpp8CBA4Uv7MHKvcJcfzkBKyJu5JimyMgAdu8GFi8Grl+nbTo6wMCBwOTJVOGXMVWS3/X3/v37uH79OgwNDdG4cWNYW1tLFKU0uG1SPf/8Q2s3pqYCf/5JBZFYEbVrRxWmJkwAClBvoFBu3aIkLDWVStx//XXJHp9pvMJcf4tUBZExpjl0dIABA4CrV2mNmk8+oaRs61aam9y1K3DmDFdOZOqhXr166Nu3Lz799NNyl3wx1eTvT3/TN2lCS0+xIrp8mZIvHR1KwEpa48Z0JxKgYSBhYSV/Dsb+wwkYYwwAjbZwd6cqiX/+CfTtC2hpAYcPAx9/TJW79u6lsvaMqZo+ffpg0aJFubYvXboUffv2lSAixujG1bp19HzUKB7VVizZydHnnwOltdj4d98BnTrRkMRBgyhzZqwUcALGGMvF2Rn47Tfg7l1g9GhAX59uPn72GeDgQIuJcrvEVMmZM2fQtWvXXNs7d+6Ms2fPShCR+snKojlK2YsFs+K7fJmmFRka0t/zrIju3AH27aPnU6aU3nm0tGhytJkZjcmfObP0zsXKNU7AGGNK1a0LrFkDPHkCfP89ULkycO8e3cm1tQWWLAESE6WOkjHg1atXeRba0NXVRVJSkgQRqZ/duwE/P/r/vXat1NFohuxktm9fun6yIlq6lLoTe/Sgu4ClydKS1gcDqErViROlez5WLnECxhh7LwsLYMECKjr144+AlRUQEwNMnUrVEidPBqKipI6SlWeNGjVCQEBAru07d+5Ew4YNJYhI/fTtC4wfT89Hj6Y6BKzoXr4Edu6k5yNHShuLWouKoknJADU6ZaF7d/pPAABDhwIJCWVzXlZuFHH5cMZYeVSxIs1N/vZbYMcO6gELDaWbhD4+NMRm0iSunMjK3qxZs9C7d288fPgQn3zyCQDg5MmT2L59O3bv3i1xdOpBJqPCctradKNlzBgalvjtt1JHpp527gRevwYaNABat5Y6GjXm4wOkpwNt29Jk5LLy44/A6dM0Fn/UKCAwkCfxsRLDPWCMsULT06ObgrduAQcPAh99RJUTt2yhyokeHlTMgysnsrLSvXt37Nu3Dw8ePMA333yDiRMnIjo6GqdOnYKNjY3U4akNmYxGe2VPs/nuO2DlSmljUlfZxTdGjuS/24vsxYuc8bBl1fuVrUIFWrxNV5cqUG3YULbnZxqNEzDGWJFpaVGZ+uBg4MqVnMqJR48CHTpQMY8dOyg5Y6y0de3aFX/88Qdev36NBw8e4LPPPsP48ePhxLW/C0UmAxYtonmfAA1LLOkllzTdjRtUTVZXFxgyROpo1JivL/DqFQ2r8PAo+/M3a0bj7wFg7FiaBM1YCeAEjDFWIpo3p8qJ9+/TkCVDQ1pbbNAgKuaxciW1o4yVplOnTuHzzz9HjRo1sHr1anTp0gV//fWX1GGpHZkMmD8fmDWLXk+cSD1jrGCyi2/07AmYm0saivp68yan+3XqVOm6ESdOpAUyk5OBwYNpOCRjxcQJGGOsRNWpA6xaBURGAnPn0h8fT57QXfRateiuemys1FEyTRIVFYX58+ejTp06GDhwIKpUqYL09HQEBgZi/vz5aNq0qdQhqiWZjP4Pz55Nr6dMAby9JQ1JLbx5Q4svA1x8o1g2bgSePwdsbID+/aWLQ0sL2LwZqFIF+OuvnP8QjBUDJ2CMsVJhakp3z588AX75BahXD/j3X/oDztqa/jAJC5M6SqbuunTpgoYNGyI0NBSrVq3C06dPsWrVKqnD0ig//ECJGEA3UObPlzYeVRcYSNc6Gxsais2KICMjp8t14kRAR+KacTVr5kzq8/YGeG1BVkycgDHGSpWhIS3uGhYG7NlDRazS0miZlYYNqdrv2bNcsIMVzfHjxzFy5EjMmTMHXbt2hba2ttQhaaRZs3KmwsyaBcyZI208qiz77/QRI6jzhBXBrl3A48e0IPIXX0gdDendm2IRAvj8c8qyGSsivjQwxsqEtjbQqxdw4QLwxx80N0ImA37/naootmxJC8FmZkodKVMn586dw8uXL+Hs7AwXFxesXr0az58/lzosjfT991ScA6BRWD/8wDdO3nXvHt1Q0tIChg2TOho1JQSweDE9HzuWqhGqipUraVJzZCStE8b/AVgRcQLGGCtzbm5U1TcsDPjyS0BfP6eKor09Fb5KTpY6SqYOXF1dsW7dOsTExOCrr77Czp07YWVlhaysLAQFBeHly5dSh6hRpk7NGRk2dy71hvHfoDmyi2906UKj1lgRHDtGZSSNjGgxOlVibAxs20Z3FAMCcib7MVZInIAxxiRjb09LvDx5Qn/IVa0KPHxIbW7t2nSHnTszWEFUqFABX3zxBc6fP49bt25h4sSJWLRoEapVq4bu3btLHZ5GmTQppyz9ggXUM8ZJGA2t3rSJnnPxjWLI7v368ktqFFRNixY5Y3DHjAHCw6WNh6klTsAYY5KzsKC76RERVEHR1hZISKBttWsDX38NPHggdZRMXdjb22PJkiWIiorCjh07pA5HI02YkFMhfNEi6hkr70nY77/TDSNLS1ofkRXB5cu0sKSODv2Sqapp04DWrYGXL2k+GC92yQqJEzDGmMowMqI1xO7do9Edzs5ASgpVUaxfn+ZAX7okdZRMXWhra6Nnz544cOCA1KFopLFjgdWr6fnSpVSsrjwnYdnFN4YPl75on9rK7v36/HNat0RVaWvT8MNKlYCLF7k0KCs0TsAYYypHRwfo14/mhZ0+TfMphMipotimDXDgAJCVJXWkTFP5+vrC1tYWBgYGcHJywrlz55TuGxwcDJlMlutx584dhf0CAwPRsGFD6Ovro2HDhti7d6/C12fPnp3rGNWrVy+V91dSxowB1qyh5ytWUKdFeUzCnjwBjh+n56pStE/t3LkD7NtHz6dMkTSUArG2pruDADBvHlWYYqyAOAFjjKksmQz4+GPg0CHg77/pzrKuLnD+PNCjB5WxX7eOeskYKykBAQEYP348ZsyYgWvXrqFNmzbw8PBAREREvt939+5dxMTEyB/16tWTf+3ixYvo378/PD09cePGDXh6eqJfv364fPmywjEcHR0VjnHr1q1SeY8lafRomssJ0LDEsWPLXxK2YQO95/btATs7qaNRU0uX0ofYowfg4CB1NAUzcCD11mVlAYMHA0lJUkfE1IRMiPJ2mSwZSUlJMDExQWJiIipVqiR1OIyVG0+fAj/9RDceExNpm4UF8N13NFdMFedss5JV2tdfFxcXNGvWDGuyu3YAODg4oGfPnvD29s61f3BwMNq1a4cXL16gcuXKeR6zf//+SEpKwpEjR+TbOnfujCpVqsjnqc2ePRv79u3D9evXixy7lG3T+vXAqFH0N/TXX9PwxPKwDlZmJi26HBUF7NgBDBggdURqKCoKqFMHSE+nniRXV6kjKrjERKBJE1q3zNMT2LJF6oiYRApz/S0Hl0bGmCapUYMm/UdGAj/+SNMEnj0DZs6k5z/8wD1irOjS0tIQEhICd3d3he3u7u648J4hRk2bNoWlpSXat2+P06dPK3zt4sWLuY7ZqVOnXMe8f/8+atSoAVtbWwwYMADh76mwlpqaiqSkJIWHVEaMoJ4gmYyGJX79dfkYJnzsGOUPpqa01iErAh8fSr7atlWv5AsATExoPpiWFrB1K2XhjL0HJ2CMMbVUsSLg5UVl6/39gQ8/pLXD5s6lm5Fnz0odIVNH8fHxyMzMhIWFhcJ2CwsLxMbG5vk9lpaW8PPzQ2BgIPbs2QN7e3u0b98eZ9/6JYyNjX3vMV1cXLBlyxYcO3YM69atQ2xsLNzc3JCQkKA0Xm9vb5iYmMgftSQuXDBsGLB5M/0t6ucHfPWV5idh2cU3hgyhNQ1ZIb14kTOGdepUaWMpqlat6C4gQHcenjyRNh6m8jgBY4ypNV1dGnp/7Rrw229A9erA3bvARx/RcKgXL6SOkKkjmUym8FoIkWtbNnt7e4waNQrNmjWDq6srfH190bVrVyxbtqxQx/Tw8EDv3r3RuHFjdOjQAYcOHQIAbN68WWmc06dPR2JiovwRGRlZqPdZGjw9qSNAS4sWJh4xgobpaaLYWCo/D/DaX0Xm6wu8egU0bgx4eEgdTdHNmgW0bElDEj09NfeXXpNkZACPHgEnT9Ido2nTqALYv/+W+qm5UCpjTCPIZEDfvkDHjnQNXbuW/vj7/XeaM9a3L+3DWH7MzMygra2dq7crLi4uVw9Wflq2bAl/f3/56+rVqxf6mEZGRmjcuDHu37+vdB99fX3oq2C3y6BBlIB9/jktTpyZCWzcSNW7NUn2e3Nzo6JArJDevMlZUG7qVPW+SOvo0HCMJk2Ac+eopP7330sdFRGCxuqHh9MjK4vG89eoQQvXVa6s3p99fhITc973w4c5z8PDqacyrzXcpk4FnJxKNSxOwBhjGqVyZSrQMXgw8OWXVNm4f3+aF+3rSws7M6aMnp4enJycEBQUhF5vTegJCgpCjx49Cnyca9euwdLSUv7a1dUVQUFBmPDW4rLHjx+Hm5ub0mOkpqYiLCwMbdq0KeS7UA0DBlDCNXAg9YhlZVHCoilrZGVl0U0egHu/imzjRlq92tqaLtTqzs6Oqs8MG0YTkjt0AFq0KJtzp6RQIRBlyUZysvLvNTBQTMjyel6jBq17pmqJWmYmTcJ8+72+/d7zGcINgMYN29pSEZg6dehnWAbLf2jIZZAxxhS1aQNcv04FOxYupFL2DRsCCxbQYs+adieelRwvLy94enrC2dkZrq6u8PPzQ0REBEaPHg2Ahv1FR0djy3/Vznx8fGBjYwNHR0ekpaXB398fgYGBCAwMlB9z3LhxaNu2LRYvXowePXpg//79OHHiBM6fPy/fZ9KkSejWrRtq166NuLg4zJ8/H0lJSRg6dGjZfgAlqG9f6gkbMADYto3+Vtq6VTOSsDNn6O+8SpVo1BIrpIwMIHuY7qRJmvFLAdBkwMOHaUx89vh4Y+PiH1cISlaVJRrR0fmv/6ClRZWq6tShzzomhsoK//MPJW/Zx8mPoaHy5Ozt1xUrlmyi9vIlDRV8+/1mP3/8mAq45KdatZwEKzvJyn5eo4Yk5Vo15LedMcZy09enm5D9+lFv2PnzwPjxNEpk3ToaKcLYu/r374+EhATMnTsXMTExaNSoEQ4fPgxra2sAQExMjMKaYGlpaZg0aRKio6NhaGgIR0dHHDp0CF26dJHv4+bmhp07d2LmzJmYNWsW7OzsEBAQABcXF/k+UVFRGDhwIOLj42Fubo6WLVvi0qVL8vOqq969gV276P/hzp3Uc+TvT/M31Vl28Y1BgwAjI2ljUUu7dtEf1WZmmrV6tUxGwzAuXAAePKBGJ7ur9H1SU2lYnLJerFev8v9+Y+Oc5OLtJMPOjoZ/6Onl/p6UFErGshOyp08Vn2e/fvGChow+fEiP/BgZ5d+Tlv26YkXaPyuLzvPue85+/vx5/ufT1VXsxXr7/dva5pxHhfA6YEXE64Axpl6yhwtNmUJDwrW1gYkTKUGrUEHq6Fhh8PVXOVX+bH7/nZKx9HT6d8cO9U3CEhLo78e0NOCvv0p9uojmEQJo2hS4cYNK186aJXVEJS84GPjkE3qvu3fTL70Q9MujrBcrMjL/XiyZDKhZM++eHDs7WguhtIYIvnmTk5jll6xlL9BZEMbGFHNsLCWf+TE1zf1+s59bWanEsJbCXH85ASsiVW7kGGPKxcQA48bRzVeArt2//ELFO5h64Ouvcqr+2Rw6BHz2GSUuvXpRj1heN+VV3cqV1LHRtClw9arU0aiho0ep4qGRERARAVStKnVEpWP6dBoHX6kSNTbh4cD71uozMlI+XM7GRvXXOkhOzjtRe/f1u5+Djg69P2W9WCYmkrydwuAErAyoeiPHGMvf778D33xDc3cBqhr844+Aubm0cbH34+uvcurw2Rw5QslXairQvTtNlVH1vynfJgTwwQfA338DP/9M1xFWSO3aUQ/RhAnA8uVSR1N60tKoRGZIiOJ2KyvlSVa1aqpX6KI0vH5NCdnz5zQksWZNtZ8HWJjrr+TrgPn6+sLW1hYGBgZwcnLCuXPn8t0/NTUVM2bMgLW1NfT19WFnZ4cNGzYo7OPj4wN7e3sYGhqiVq1amDBhAlJSUuRfnz17NmQymcKjehlUPGGMqY5u3YDQUGDsWGrrtm4FHByoWiLflmKs9Hh4APv3U+G1AwdoZNb7Rh+pksuXKfkyNKQaC6yQLl+m5EtHhxIwTaanRwU51q0DDh6kRic5me78nT1LZUH/9z/6RXJ1BSwsykfyBVBPX9269L5tbNQ++SosSd9tQEAAxo8fD19fX7Rq1Qpr166Fh4cHQkNDUVtJreh+/frh2bNnWL9+PerWrYu4uDhkvFXDf9u2bZg2bRo2bNgANzc33Lt3D8OGDQMArFixQr6fo6MjTpw4IX+trQJjRxljZatiRRpKNHgwLdp88yYwdCglY7/8QjclGWMlr1Mn6oXu1o2GJfbqBezZQ0mZqssuvtGvn1qMilI9ixfTv59/TlX5NF21arxOActF0iGILi4uaNasGdasWSPf5uDggJ49e8Lb2zvX/kePHsWAAQMQHh6OqkrGC3/77bcICwvDyZMn5dsmTpyIK1euyHvXZs+ejX379uH69etFjl0dhnkwxgouPZ1GwsyeTUWhDAzouZeX+hYK0FR8/VVO3T6bU6eATz+l+f2dOgF791LPkqpKSqLRUsnJtNZu69ZSR6Rm7tyh9UCEoN4gBwepI2KsxKjFEMS0tDSEhITA3d1dYbu7uzsuXLiQ5/ccOHAAzs7OWLJkCaysrFC/fn1MmjQJb968ke/TunVrhISE4MqVKwCA8PBwHD58GF27dlU41v3791GjRg3Y2trKk7r8pKamIikpSeHBGNMcurrA1KnArVtA+/aUhE2bBjg7A/9dThhjJeyTT2iEVoUKwLFjQI8e+a8XK7WdOym+Bg2AVq2kjkYNLV1KyVePHpx8sXJNsgQsPj4emZmZsLCwUNhuYWGB2NjYPL8nPDwc58+fx99//429e/fCx8cHu3fvxpgxY+T7DBgwAPPmzUPr1q2hq6sLOzs7tGvXDtOmTZPv4+Ligi1btuDYsWNYt24dYmNj4ebmhoR8Vsv29vaGiYmJ/FGrPHSbM1YO1a0LBAUBmzdT1dubN4GWLani2cuXUkfHmOb5+GMqimdkRP/3unVT3SQsezmnkSPLz1SdEhMVReO7AbrbxVg5JnkRDtk7VzAhRK5t2bKysiCTybBt2za0aNECXbp0wfLly7Fp0yZ5L1hwcDAWLFgAX19fXL16FXv27MHBgwcxb948+XE8PDzQu3dvNG7cGB06dMChQ4cAAJs3b1Ya5/Tp05GYmCh/REZGFvetM8ZUlEwGDBkChIVRdUQhaK6YoyPNo2aMlaw2bagHzNiYhiV27UpF0lTJjRvAn39Sb/mQIVJHo4Z8fGisd9u2VHiBsXJMsiIcZmZm0NbWztXbFRcXl6tXLJulpSWsrKxg8tasVwcHBwghEBUVhXr16mHWrFnw9PTEyP8mPDZu3BivX7/Gl19+iRkzZkBLK3fOaWRkhMaNG+P+/ftK49XX14e+OtXJZYwVm7k5VUX8/HNg9Gjg0SO6O9+3LyVklpZSR8iY5mjVipKwzp2pSJ6HBw1PNDYunfMJAWRkUKXw1NS8/337+fr19H29evFyFYX24gWwdi09594vxqRLwPT09ODk5ISgoCD06tVLvj0oKAg9evTI83tatWqFXbt24dWrVzD+74p87949aGlpoWbNmgCA5OTkXEmWtrY2hBBQVm8kNTUVYWFhaNOmTUm8NcaYhnF3p7LTc+bQWmG7dgHHj9N0hhEjgDzu6zDGisDNjf5vdepERS46dQL69FGeFBUkccpvn6KUIeOCdkXg6wu8egU0bkyZNWPlnKRl6L28vODp6QlnZ2e4urrCz88PERERGD16NAAa9hcdHY0tW7YAAAYNGoR58+Zh+PDhmDNnDuLj4zF58mR88cUXMPyvbFK3bt2wfPlyNG3aFC4uLnjw4AFmzZqF7t27y0vNT5o0Cd26dUPt2rURFxeH+fPnIykpCUOHDpXmg2CMqbwKFah68sCBVLL+r7+AL7+kKQ1+fjQpnzFWfC1b0lwwd3fgwgV6lBV9fXro6eX9r7MzFelhhfDmDQ0ZAKj3iyfPMSZtAta/f38kJCRg7ty5iImJQaNGjXD48GFYW1sDAGJiYhARESHf39jYGEFBQfjuu+/g7OwMU1NT9OvXD/Pnz5fvM3PmTMhkMsycORPR0dEwNzdHt27dsGDBAvk+UVFRGDhwIOLj42Fubo6WLVvi0qVL8vMyxpgyTZoAly4Bq1YBM2fSXfoPPwS+/56qJvJIZcaKr0ULWqd2xQrqqXo7EVKWHBV0H2Vf09bm3KBUbNwIPH8OWFsD/ftLHQ1jKkHSdcDUmbqttcIYK3lPngDffEPzVACqquznx2sDlTa+/irHnw1TKRkZQP36NIF21Srg22+ljoixUqMW64Axxpi6s7amqogBAYCFBVVNbNOGCnb8+6/U0THGSkRiIlUFWb4cCAws2sSx8mrXLkq+zMyAL76QOhrGVAYnYIwxVgwyGdCvHyVf2ZPz166l3rDdu/lvNcbUSlIScOYMVdsZNIh6bypXBtq1AyZOpIogo0dTzw7LnxA0cRYAxo6libSMMQASzwFjjDFNUaUKsG4dlaz/8kvg3j0qV9+zJ/Dzz0CNGlJHyBhT8PIlcO0aVdQJCaHH3bt572ttDTRsSHXy/fyAuDhg+3bgvwJgLA/HjtHiaUZGwJgxUkfDmErhBIwxxkrQRx/R3xwLFwLe3sC+fcDp01SyfuRInuTPmCRevaJkKyQkJ+G6ezfvLuratQEnJyp56OREDzMz+trevVQKdd8+qpF/4AD1kLHcsnu/vvwSqFpV2lgYUzFchKOIeKIzY+x9bt2ipOvKFXrdrh3dPK9bV9q41B1ff5XjzwaUbF2/rphs3bmTd7JVq1buZOt9qyyfPQt0705zwxo1Ao4eBaysSuWtqK3Ll2k9AR0dIDycPmfGNFxhrr/cA8YYY6WkcWNaw+inn6hk/enTtG3ePGD8ePrbhDFWDK9f551sZWXl3rdmzZwkKzvhqlat8Ods2zZnlei//6bVo48d48UA35bd+/X555x8MZYHLsLBGGOlSFsbmDCBesPatwdSUoDJk+nm8I0bUkfHlPH19YWtrS0MDAzg5OSEc+fOKd03ODgYMpks1+POnTsK+wUGBqJhw4bQ19dHw4YNsXfv3mKdt9xJTgYuXqRy5sOGUe9TpUq07sO4cbQqemgoJV81alAv1Zw5wKFDQGwsEBlJQwdnzQI8PIqWfGXLvrtSvz4QEQG0akULBDJKgPfto+dTpkgaCmOqiu+/MsZYGahTBwgKAjZtAry86Ea9szP9fTJrFmBgIHWELFtAQADGjx8PX19ftGrVCmvXroWHhwdCQ0NRu3Ztpd939+5dhWEn5m8NZbt48SL69++PefPmoVevXti7dy/69euH8+fPw8XFpVjn1VivX1NSdfky9W5lJ1fvsrRUHELo5ETbSpuNDfDHH0DXrjTO+JNPqPRply6lf25VtnQpDffs0YPKwTLGcuE5YEXE4+wZY0UVG0vrkQYG0mt7e+DXX3kB54Iq7euvi4sLmjVrhjVr1si3OTg4oGfPnvD29s61f3BwMNq1a4cXL16gspKCDP3790dSUhKOHDki39a5c2dUqVIFO3bsKNJ586IxbdPr14C7O/Uyva169dxztqQuMfr6NZWnP3qUurzXrweGDpU2JqlERwO2tkB6Ov3sXF2ljoixMsMLMTPGmAqrXp1ulAcG0vO7d2kB5zFjaBkiJp20tDSEhITA3d1dYbu7uzsuvJsMvKNp06awtLRE+/btcfr0aYWvXbx4MdcxO3XqJD9mUc+bmpqKpKQkhYfaS0sDevemP+ArV6Yu4v37gago4OlTWv189mygWzfpky+AyqwfOAAMGQJkZtLwyCVLyucigCtWUPLVti0nX4zlgxMwxhiTyGef0aiqESPota8v4OhIU1aYNOLj45GZmQkLCwuF7RYWFoiNjc3zeywtLeHn54fAwEDs2bMH9vb2aN++Pc6ePSvfJzY2Nt9jFuW8AODt7Q0TExP5o5a6FzzIzKTCDceOUWJz5Agwdy7N57KyUt11HHR1aXxx9pynqVNprHFeQyY11YsXtAo9QO+fMaYUJ2CMMSahKlVo+OGJEzRPLCoK+PRTYPBg4PlzqaMrv2Tv/KEvhMi1LZu9vT1GjRqFZs2awdXVFb6+vujatSuWLVtW6GMW5rwAMH36dCQmJsofkZGR731vKksI4KuvgF27AD09KuTQsqXUURWcTEbV/5Yvp9c+PpRMpqVJGlaZ8fWlJQAaN6YiJ4wxpTgBY4wxFdC+PVVKnDgR0NICtm8HGjYEtm0rnyOZpGJmZgZtbe1cvU5xcXG5eqfy07JlS9y/f1/+unr16vkes6jn1dfXR6VKlRQeakkI6j1av57+A+zYAXToIHVURTNhAuDvT+tM7NhBRTpevpQ6qtL15g2wciU9nzpVdXsqGVMRnIAxxpiKqFABWLaMqlk3bgzEx9MN9E8/pQrarPTp6enByckJQUFBCtuDgoLg5uZW4ONcu3YNlm9V4nN1dc11zOPHj8uPWVLnVVve3vTLD1CX8GefSRtPcQ0eTGOJjYyoe7tdOyAuTuqoSs+6ddRlb20N9O8vdTSMqTwuQ88YYyqmeXOqur1kCS3afPgw9YYtXgyMHk0dBKz0eHl5wdPTE87OznB1dYWfnx8iIiIwevRoADTsLzo6Glu2bAEA+Pj4wMbGBo6OjkhLS4O/vz8CAwMRmF3mEsC4cePQtm1bLF68GD169MD+/ftx4sQJnD9/vsDn1Vhr1gAzZtDz5cuB4cOljaekuLvT6utdutC6E61a0dy2OnWkjqzkPHhAq8wHBNDrSZN4hXnGCkKwIklMTBQARGJiotShMMY0WGioEG5uQtAYLSFatxYiLEzqqKRVFtffn3/+WVhbWws9PT3RrFkzcebMGfnXhg4dKj766CP568WLFws7OzthYGAgqlSpIlq3bi0OHTqU65i7du0S9vb2QldXVzRo0EAEBgYW6rwFoXZt07ZtQshk9Ms9a5bU0ZSOu3eFsLGh92hhIcTVq1JHVHwxMUJ8/bUQOjr0vmQyIYYNEyI1VerIGJNMYa6/vA5YEWnMWiuMMZWXlUXz26dPpznuenrADz8AkydT8bXyhq+/yqnVZ3PwINCzJ1U+/O47mkOkqXOHYmKoMMWNG0DFilRg5JNPpI6q8BITaaHlFSuA5GTa1rkzDSFt0kTS0BiTGq8DxhhjGkRLixZu/vtv+lsnLY1GbGUPVWRM7Zw5A/TtS8mXpydVDNTU5AsALC3pPX/8MRXk6NwZ+O03qaMquJQUSrrs7IAFCyj5atGChlgeOcLJF2OFxAkYY4ypCWtrmg+2dStgako3011cqHhc9s1oxlTeX3/RIsopKbS+V3blQ01nYkLJSp8+tFjxgAHAqlVSR5W/zExg82bA3p7WNUtIoOeBgVQt6OOPpY6QMbVUDq54jDGmOWQyqowYGkp/v2Vl0YigDz6gm9GMqbSwMOr9efmSKgMGBJSvcbQGBsDOncCYMTStc+xY6s5WtdkgQtAQ0SZNgGHDgIgIWgh73Trqiv/sM83usWSslHECxhhjaqhaNVpi6Pff6e+ihw9pSsmoUcC//0odHWN5ePwY6NiRelGaNwf276eEpLzR1qaer3nz6PXChcDIkUBGhrRxZbtwAWjblnop//4bqFyZSrDev09xcpVDxoqNEzDGGFNjn35KvWFff02vf/2VStbv2ydpWIwpevaMkq/oaPoFPXKEilGUVzIZlW9ft46GX27YQL1KUo4lvn0b6NGDyuWfP0/J8ZQpQHg4/WtoKF1sjGkYTsAYY0zNVapEVRLPnAHq1aOCa716UY2D2Fipo2Pl3r//Ap060ZpRNjbA8eM0iZFRj9KePZTs/P470KED8M8/ZRtDRAStvfbBB8CBA5QQjhxJPV6LFwNVqpRtPIyVA5yAMcaYhmjblgpzTJtGo5x276bOhk2bVG+KCSsnXr8GunalX8zq1YETJ2jMLMvRowcQFERD/S5eBFq3BiIjS/+8CQm0cHL9+nSRyMqiXrjbt6lnrmbN0o+BsXKKEzDGGNMghoa0JM+ffwJNmwIvXtDN7U6dgEePpI6OlStpaUDv3jSnqEoV6vmys5M6KtXUujVw7hwlp2FhgJsbJUKl4fVrmndWpw7w449Aairw0UeU/AUGAg0alM55GWNynIAxxpgGatoUuHIFWLSIRjcFBVFv2OzZwJs3UkfHNF5mJpXrPHYMMDKi9RMaN5Y6KtXWqBElqw0aAFFRQJs29LqkpKcDv/wC1K1LlReTkoAPP6SfzenTQMuWJXcuxli+OAFjjDENpaMDTJ0K3LxJFb9TUoA5cygR27uXhyWyUiIE8NVXwK5dgJ4eVYThP+4LpnZtKoDRsiV1X7dvT/OyikMIWvTZ0ZGq9cTGAra2gL8/cPUq4OHBJeUZK2OcgDHGmIarVw84eZKWXKpZk6qBf/YZLcd0547U0TGNIgRVzMteXHnHDioswQrO1JT+w3btSndNevWiz7MoTp4EWrQA+venohrm5sBPP9F//MGDy8cC2IypIP6fxxhj5YBMBvTrR393zZhBHRPHj9OosMmTaV1cxorN2xtYtoye//orZfqs8CpUoG7qYcOoOMbIkcCCBQXvtr56FXB3p+T3r78AY2Pghx9owcDvvqMLAGNMMpyAMcZYOWJkBMyfT/P7u3altV+XLQPs7YFt23hYIiuGNWsouweA5cup+gsrOl1dWh9s+nR6PXMmMHYsza9T5sEDYMAAwMmJJn7q6lLC9fAhTQAtz2uvMaZCOAFjjLFyqG5d4OBBetjZ0dphn39OpeyvX5c6OqZ2tm8Hxoyh57NmARMmSBuPppDJqGKhjw+9Xr0aGDiQKhe+LTaWPn8HBxprLJPREMM7d2jIYbVqZR46Y0w5yRMwX19f2NrawsDAAE5OTjh37ly++6empmLGjBmwtraGvr4+7OzssGHDBoV9fHx8YG9vD0NDQ9SqVQsTJkxASkpKsc7LGGOaqGtX4O+/aXRThQo0/9/Jif6WK+v1YJmaOngQGDKEuk+/+44qvbCSNW4czafT1aXiJl26UBXDpCRKeO3saDX2jAya3Hn1KhXZqFNH6sgZY3mQNAELCAjA+PHjMWPGDFy7dg1t2rSBh4cHIiIilH5Pv379cPLkSaxfvx53797Fjh070OCtNSu2bduGadOm4YcffkBYWBjWr1+PgIAATM/uwi/ieRljTFMZGADff083y/v1oyknvr60PuvatfmPeGLl3JkzQN++9Evi6Uk9NVxRr3QMGEAl442NgVOnABcXSrzmzweSk6nYxunTwJEjQJMmUkfLGMuHTAjpRvy7uLigWbNmWLNmjXybg4MDevbsCW9v71z7Hz16FAMGDEB4eDiqVq2a5zG//fZbhIWF4eTJk/JtEydOxJUrV+S9XIU9b16SkpJgYmKCxMREVKpUqUDfwxhj6uD0aerIyF4HtlkzGvnk6iptXNn4+qtcmX42f/0FfPIJVXDp3h3YvZt6aFjpCgmhHrC4OHptb0/DFHv14uSXMQkV5vorWQ9YWloaQkJC4O7urrDd3d0dF5QsPHjgwAE4OztjyZIlsLKyQv369TFp0iS8eWtV0datWyMkJARXrlwBAISHh+Pw4cPo2rVrkc8L0NDHpKQkhQdjjGmidu2Aa9eoM6NSJRrN5OZGBdliY6WOjqmEsDAa6vbyJf3CBARw8lVWnJyAP/4Ahg4F1q2jMcSffcbJF2NqRLIELD4+HpmZmbCwsFDYbmFhgVglLXx4eDjOnz+Pv//+G3v37oWPjw92796NMdkTfwEMGDAA8+bNQ+vWraGrqws7Ozu0a9cO06ZNK/J5AcDb2xsmJibyR61atYr61hljTOXp6tK0k3v3corZbd5MN9tXrADS06WNj0noyRMqcZ6QADRvDuzfT+NYWdmpWxfYtInK0+voSB0NY6yQJC/CIXvnjo0QIte2bFlZWZDJZNi2bRtatGiBLl26YPny5di0aZO8Fyw4OBgLFiyAr68vrl69ij179uDgwYOYN29ekc8LANOnT0diYqL8ERkZWZS3yxhjasXCgiphX7oEODvTnH8vL5pi8tZIb41T1EJNf/zxB3R0dNDknTk46enpmDt3Luzs7GBgYIAPP/wQR48eVdhn9uzZkMlkCo/q1auX1FsqGc+e0dpSUVFAw4Y034hLmzPGWKFIloCZmZlBW1s7V69TXFxcrt6pbJaWlrCysoKJiYl8m4ODA4QQiIqKAgDMmjULnp6eGDlyJBo3boxevXph4cKF8Pb2RlZWVpHOCwD6+vqoVKmSwoMxxsoLFxfg8mUa8WRmBoSG0t/hffsCmla/qKiFmhITEzFkyBC0b98+19dmzpyJtWvXYtWqVQgNDcXo0aPRq1cvXLt2TWE/R0dHxMTEyB+3bt0q0fdWLP/+C3TqRGtN2djQSt6mplJHxRhjakeyBExPTw9OTk4ICgpS2B4UFAQ3N7c8v6dVq1Z4+vQpXr16Jd927949aGlpoWbNmgCA5ORkaGkpvi1tbW0IISCEKNJ5GWOMAVpaNOLp3j3g22/p9e7dQIMGVIjtndU+1Nby5csxYsQIjBw5Eg4ODvDx8UGtWrUUCjfl5auvvsKgQYPgmke1kq1bt+L7779Hly5dUKdOHXz99dfo1KkTfvzxR4X9dHR0UL16dfnD3Ny8RN9bkb1+TWsW3LgBVK8OnDgBWFlJHRVjjKklSYcgenl54ddff8WGDRsQFhaGCRMmICIiAqNHjwZAw/6GDBki33/QoEEwNTXF8OHDERoairNnz2Ly5Mn44osvYGhoCADo1q0b1qxZg507d+LRo0cICgrCrFmz0L17d2hraxfovIwxxpSrUgVYtYqKc7RpA7x5Q0sROToCv/9Oy0Gpq6IWatq4cSMePnyIH374Ic+vp6amwuCdeVKGhoY4f/68wrb79++jRo0asLW1lVf9zU+ZFIhKSwN69wYuXAAqVwaOHaPy54wxxopE0pmb/fv3R0JCAubOnYuYmBg0atQIhw8fhrW1NQAgJiZGYciHsbExgoKC8N1338HZ2Rmmpqbo168f5s+fL99n5syZkMlkmDlzJqKjo2Fubo5u3bphwYIFBT4vY4yx9/vwQ1oGaudOYNIkIDycqpF36UIVFOvVkzrCwitKoab79+9j2rRpOHfuHHSUFETo1KkTli9fjrZt28LOzg4nT57E/v37kfnWImsuLi7YsmUL6tevj2fPnmH+/Plwc3PD7du3YapkqJ+3tzfmlObCx5mZwOefU9JVoQKtQ/XBB6V3PsYYKwckXQdMnfE6NIwxluPlS2DBAmD5cqqQqKcHTJxICzwbG5fsuUrz+vv06VNYWVnhwoULCkMJFyxYgK1bt+LOnTsK+2dmZqJly5YYMWKEfBTF7NmzsW/fPly/fl2+3/PnzzFq1Cj8/vvvkMlksLOzQ4cOHbBx40YkJyfnGcvr169hZ2eHKVOmwMvLK899UlNTkZqaKn+dlJSEWrVqlcxnIwQwahSwfj39QA8eBDp2LN4xGWNMQ6nFOmCMMcY0R8WKwKJFwK1btDxUWhrg7U3zw3buVJ9hiYUt1PTy5Uv89ddf+Pbbb6GjowMdHR3MnTsXN27cgI6ODk6dOgUAMDc3x759+/D69Ws8efIEd+7cgbGxMWxtbZXGYmRkhMaNG+P+/ftK9ym1AlFCAFOmUPKlpQXs2MHJF2OMlRBOwBhjjJUYe3sapbZ/P2BrC0RHAwMH0lq9qlTQT5nCFmqqVKkSbt26hevXr8sfo0ePhr29Pa5fvw4XFxeF/Q0MDGBlZYWMjAwEBgaiR48eSmNJTU1FWFgYLC0tS+bNFYa3N7BsGT3/9Vda6JcxxliJ4ASMMcZYiZLJaC7Y7dvA3Lm0Ru+ZM0DTprS487//Sh1h/gpTIEpLSwuNGjVSeFSrVg0GBgZo1KgRjIyMAACXL1/Gnj17EB4ejnPnzqFz587IysrClClT5OedNGkSzpw5g0ePHuHy5cvo06cPkpKSMHTo0LL9ANasAWbMoOfLl+esxM0YY6xEcALGGGOsVBgaUnXEO3eoiF5mJvDTT0D9+rS4c1aW1BHmrX///vDx8cHcuXPRpEkTnD17Nt8CUQWRkpKCmTNnomHDhujVqxesrKxw/vx5VK5cWb5PVFQUBg4cCHt7e3z22WfQ09PDpUuXyrZA1PbtwJgx9HzWLGDChLI7N2OMlRNchKOIuAgHY4wVzokTwHffUUIGAF99BfzyS+GPw9df5Yr12Zw4QRP4MjPpB7VyJXVnMsYYey8uwsEYY0zldOhA6/guWwaYmNCizkyFNG0KNGsGeHrSOgKcfDHGWKmQdB0wxhhj5Ut2efqvvir58vSsmExNgVOnAH19qnzIGGOsVHACxhhjrMxx8qWi+AfDGGOljm9xMcYYY4wxxlgZ4QSMMcYYY4wxxsoIJ2CMMcYYY4wxVkY4AWOMMcYYY4yxMsIJGGOMMcYYY4yVEU7AGGOMMcYYY6yMcBn6IhJCAKBVrxljjJWd7Otu9nWY5eC2iTHGpFGYtokTsCJ6+fIlAKBWrVoSR8IYY+XTy5cvYWJiInUYKoXbJsYYk1ZB2iaZ4FuIRZKVlYWnT5+iYsWKkMlkhf7+pKQk1KpVC5GRkahUqVIpRKi++LNRjj+b/PHno5wmfTZCCLx8+RI1atSAlhaPpH8bt02lhz8b5fizUY4/m/xp0udTmLaJe8CKSEtLCzVr1iz2cSpVqqT2v3ClhT8b5fizyR9/PsppymfDPV9547ap9PFnoxx/NsrxZ5M/Tfl8Cto28a1DxhhjjDHGGCsjnIAxxhhjjDHGWBnhBEwi+vr6+OGHH6Cvry91KCqHPxvl+LPJH38+yvFnwwqCf0+U489GOf5slOPPJn/l9fPhIhyMMcYYY4wxVka4B4wxxhhjjDHGyggnYIwxxhhjjDFWRjgBY4wxxhhjjLEywgkYY4wxxhhjjJURTsAk4uvrC1tbWxgYGMDJyQnnzp2TOiTJeXt7o3nz5qhYsSKqVauGnj174u7du1KHpZK8vb0hk8kwfvx4qUNRCdHR0fj8889hamqKChUqoEmTJggJCZE6LMllZGRg5syZsLW1haGhIerUqYO5c+ciKytL6tCYCuJ2KW/cNhUMt0u5cduUN26bOAGTREBAAMaPH48ZM2bg2rVraNOmDTw8PBARESF1aJI6c+YMxowZg0uXLiEoKAgZGRlwd3fH69evpQ5Npfz555/w8/PDBx98IHUoKuHFixdo1aoVdHV1ceTIEYSGhuLHH39E5cqVpQ5NcosXL8Yvv/yC1atXIywsDEuWLMHSpUuxatUqqUNjKobbJeW4bXo/bpdy47ZJOW6buAy9JFxcXNCsWTOsWbNGvs3BwQE9e/aEt7e3hJGplufPn6NatWo4c+YM2rZtK3U4KuHVq1do1qwZfH19MX/+fDRp0gQ+Pj5ShyWpadOm4Y8//uC79Xn49NNPYWFhgfXr18u39e7dGxUqVMDWrVsljIypGm6XCo7bJkXcLuWN2ybluG3iHrAyl5aWhpCQELi7uytsd3d3x4ULFySKSjUlJiYCAKpWrSpxJKpjzJgx6Nq1Kzp06CB1KCrjwIEDcHZ2Rt++fVGtWjU0bdoU69atkzosldC6dWucPHkS9+7dAwDcuHED58+fR5cuXSSOjKkSbpcKh9smRdwu5Y3bJuW4bQJ0pA6gvImPj0dmZiYsLCwUtltYWCA2NlaiqFSPEAJeXl5o3bo1GjVqJHU4KmHnzp24evUq/vzzT6lDUSnh4eFYs2YNvLy88P333+PKlSsYO3Ys9PX1MWTIEKnDk9TUqVORmJiIBg0aQFtbG5mZmViwYAEGDhwodWhMhXC7VHDcNinidkk5bpuU47aJEzDJyGQyhddCiFzbyrNvv/0WN2/exPnz56UORSVERkZi3LhxOH78OAwMDKQOR6VkZWXB2dkZCxcuBAA0bdoUt2/fxpo1a8p9IxcQEAB/f39s374djo6OuH79OsaPH48aNWpg6NChUofHVAy3S+/HbVMObpfyx22Tctw2cQJW5szMzKCtrZ3rrmJcXFyuu4/l1XfffYcDBw7g7NmzqFmzptThqISQkBDExcXByclJvi0zMxNnz57F6tWrkZqaCm1tbQkjlI6lpSUaNmyosM3BwQGBgYESRaQ6Jk+ejGnTpmHAgAEAgMaNG+PJkyfw9vYuN40cez9ulwqG2yZF3C7lj9sm5bht4jlgZU5PTw9OTk4ICgpS2B4UFAQ3NzeJolINQgh8++232LNnD06dOgVbW1upQ1IZ7du3x61bt3D9+nX5w9nZGYMHD8b169fLdSPXqlWrXCWh7927B2tra4kiUh3JycnQ0lK8zGtra5erUr/s/bhdyh+3TXnjdil/3DYpx20T94BJwsvLC56ennB2doarqyv8/PwQERGB0aNHSx2apMaMGYPt27dj//79qFixovxurImJCQwNDSWOTloVK1bMNd/AyMgIpqam5X4ewoQJE+Dm5oaFCxeiX79+uHLlCvz8/ODn5yd1aJLr1q0bFixYgNq1a8PR0RHXrl3D8uXL8cUXX0gdGlMx3C4px21T3rhdyh+3Tcpx2wRAMEn8/PPPwtraWujp6YlmzZqJM2fOSB2S5ADk+di4caPUoamkjz76SIwbN07qMFTC77//Lho1aiT09fVFgwYNhJ+fn9QhqYSkpCQxbtw4Ubt2bWFgYCDq1KkjZsyYIVJTU6UOjakgbpfyxm1TwXG7pIjbprxx2yQErwPGGGOMMcYYY2WE54AxxhhjjDHGWBnhBIwxxhhjjDHGyggnYIwxxhhjjDFWRjgBY4wxxhhjjLEywgkYY4wxxhhjjJURTsAYY4wxxhhjrIxwAsYYY4wxxhhjZYQTMMYYY4wxxhgrI5yAMcYYY4wxxlgZ4QSMMcYYY4wxxsoIJ2CMMcYYY4wxVkY4AWOMMcYYY4yxMvJ/fHbSEIBDtIoAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x300 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "loss=history.history['loss']\n",
    "acc=history.history['accuracy']\n",
    "val_loss=history.history['val_loss']\n",
    "val_acc=history.history['val_accuracy']\n",
    "plt.figure(figsize=(10,3))\n",
    "plt.subplot(121)\n",
    "plt.plot(loss,color='b',label='train')\n",
    "plt.plot(val_loss,color='r',label='validata')\n",
    "plt.ylabel('loss')\n",
    "plt.legend()\n",
    "plt.subplot(122)\n",
    "plt.plot(acc,color='b',label='train')\n",
    "plt.plot(val_acc,color='r',label='validate')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "0937b61c-a0c3-421b-ae11-81b5a013544d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m9/9\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 47ms/step\n",
      "评论为:  The ultimate story of friendship,of hope,and of life,and overcoming adversity.I understand why so many class this as the best film of al time,it isn't mine,but I get it.If you haven't seen it,or haven't seen it for some time,you need to watch it,it's amazing.\n",
      "预测结果为:  正面评论\n"
     ]
    }
   ],
   "source": [
    "dict={0:\"正面评论\",1:\"负面评论\"}\n",
    "def display_predict(text):\n",
    "    token=tf.keras.preprocessing.text.Tokenizer(num_words=4000)\n",
    "    token.fit_on_texts(text)\n",
    "    input_seq=token.texts_to_sequences(text)\n",
    "    test_seq=tf.keras.preprocessing.sequence.pad_sequences(input_seq,padding='post',maxlen=400,truncating='post')\n",
    "    pred=model.predict(test_seq)\n",
    "    print(\"评论为: \",text)\n",
    "    print(\"预测结果为: \",dict[np.argmax(pred)])\n",
    "test_text=\"The ultimate story of friendship,of hope,and of life,and overcoming adversity.I understand why so many class this as the best film of al time,it isn't mine,but I get it.If you haven't seen it,or haven't seen it for some time,you need to watch it,it's amazing.\"\n",
    "display_predict(test_text)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d6520ca0-0eb8-499d-ac93-6e0f51eed9b1",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
